[Caso típico de combate real del proyecto] 05. Beneficios de la separación del front-end y back-end (enviar cuestionario)

1. Antecedentes

  El siguiente diagrama de flujo es el proceso general de envío de preguntas de la encuesta a los usuarios, colocando una lógica empresarial innecesaria en el front-end para su procesamiento. Esto conduce a una confusión lógica y es difícil de mantener. Uno de los propósitos de separar el front-end y el back-end es colocar el estilo de la función en el front-end y colocar la lógica empresarial de la función en el back-end para su procesamiento.
inserte la descripción de la imagen aquí

dos ideas

  Aclarar la lógica de negocios. Los diagramas UML se pueden utilizar para ordenar y organizar la clarificación de la lógica de negocios, de modo que tengamos una comprensión de la macro. Una imagen vale más que mil palabras. Ordene el estilo funcional del front-end y la interfaz back-end correspondiente al estilo funcional. Coloque los cálculos necesarios y la lógica empresarial de procesamiento compleja en el backend y pase la representación de los datos al frontend para su visualización directa. No es necesario realizar ninguna lógica de cálculo compleja después de recibir el mensaje.

3. Proceso

1. Lógica empresarial principal

1. En la página de envío de capítulos, al consultar las tres partículas de capítulos ejecutadas se llamará a la interfaz de backend para guardar las reglas en redis.
2. Cuando la cuenta regresiva de la ejecución de la partícula del capítulo llega a 10, el front-end llama a la interfaz de back-end para obtener la configuración de incentivo de la partícula del capítulo y la devuelve al front-end.
3. Cuando finalice el gránulo del capítulo, determine si desea configurar el envío del cuestionario. Si está configurado, llame a la interfaz de envío del cuestionario del backend para enviar el cuestionario y luego continúe el proceso para ejecutar el siguiente gránulo del capítulo. Si no hay configuración, continúe el proceso y ejecute el siguiente capítulo.

2. Ideas para resolver problemas

  1. Coloque el temporizador en el backend: de esta manera, cuando el backend cuenta atrás hasta diez segundos, se llama a la regla de incentivo y el cuestionario se envía cuando el temporizador llega a cero segundos. De esta manera, se reduce el juicio lógico del front-end y la lógica se coloca en el back-end. Y reducir la entrada.

   2. Cancele los bucles innecesarios, elimine los bucles en el diagrama de flujo, no es necesario llamar.
inserte la descripción de la imagen aquí

Cuatro Resumen

Se desmonta el estilo y el cálculo lógico de la misma función, los beneficios de esto son:
1. Mejora la eficiencia del desarrollo, y el front y back-end pueden ser desarrollados por el personal correspondiente.
2. Mejorar la mantenibilidad del código y reducir la combinación de estilo y lógica. Resuelve el problema y localízalo cómodamente.
3. Reutilizabilidad mejorada y gran adaptabilidad. El mismo conjunto de códigos de programa back-end se puede utilizar para varios clientes, como interfaz web, teléfono móvil y tableta, sin modificaciones.
Encarna el pensamiento orientado a objetos. Alta expansión, alta reutilización, bajo costo de mantenimiento.

Cinco, los beneficios de la orientación a objetos.

  1. Modularidad y mantenibilidad: la programación orientada a objetos divide un programa en múltiples objetos independientes, cada uno con sus propias propiedades y métodos. Este diseño modular hace que el código sea más fácil de mantener y extensible, y el comportamiento del programa se puede cambiar modificando o reemplazando un solo objeto sin tener que modificar todo el programa.
  2. Encapsulación y ocultación de información: la programación orientada a objetos utiliza la encapsulación para combinar datos y comportamiento en un objeto autónomo. El objeto oculta los detalles de implementación interna desde el exterior y solo proporciona una interfaz limitada para el acceso externo. Este mecanismo de ocultación de información puede proteger la integridad y seguridad de los datos y mejorar la reutilización del código.
  3. Herencia y reutilización de código: la programación orientada a objetos admite el mecanismo de herencia: se puede crear una nueva clase heredando una clase existente y se pueden reutilizar las propiedades y métodos de la clase principal. Este mecanismo de reutilización de código puede reducir la carga de trabajo de la escritura repetida de código y mejorar la capacidad de mantenimiento y escalabilidad del código.
  4. Polimorfismo y flexibilidad: la programación orientada a objetos admite el polimorfismo, es decir, el mismo método puede exhibir diferentes comportamientos según diferentes llamadas a objetos. Esta flexibilidad permite que el programa se adapte y expanda dinámicamente según la situación real, mejorando la flexibilidad y escalabilidad del código.
  5. Abstracción y modelos conceptuales: la programación orientada a objetos utiliza la abstracción para transformar conceptos y entidades del mundo real en clases y objetos del programa. Este proceso de abstracción acerca el programa al modelo conceptual del dominio del problema y mejora la legibilidad y comprensibilidad del programa.

6. Cómo realizar la separación de los extremos frontal y posterior.

Para lograr la separación de los extremos frontal y posterior, se requieren los siguientes pasos:

1. Determinar la arquitectura y la tecnología para la separación de front-end y back-end. Las arquitecturas de uso común incluyen la separación de front-end y back-end basada en API RESTful, arquitectura de microservicios, etc. La pila de tecnología incluye marco de front-end, marco de back-end, base de datos, etc.
2. El front-end y el back-end negocian la especificación de la interfaz y el formato de datos (como JSON) para la interacción de datos.
3. El desarrollo de back-end proporciona servicios API según la especificación, y el desarrollo de front-end implementa la visualización de páginas y la interacción según los datos de llamadas API.
4. El desarrollo del front-end y del back-end están separados, Git se puede utilizar para la gestión de versiones y el front-end y el back-end se pueden desarrollar y probar de forma independiente.
5. El front-end y el back-end se implementan y lanzan de forma independiente, y la tecnología de contenedorización (como Docker) se puede utilizar para unificar el entorno de implementación.

En resumen, el núcleo de la separación de front-end y back-end es separar el desarrollo y la implementación de front-end y back-end, y realizar la interacción de datos a través de la interfaz API, lo que mejora en gran medida la eficiencia del desarrollo y la capacidad de mantenimiento del código.

Siete, los beneficios de la separación frontal.

  1. Mejorar la eficiencia del desarrollo: la separación del front-end y back-end permite que los equipos front-end y back-end se desarrollen de forma independiente, lo que acelera la eficiencia del desarrollo.

  2. Mejor mantenimiento: la separación del front-end y el back-end separa la interfaz de usuario del front-end de la lógica empresarial del back-end. El back-end ya no necesita considerar cambios en la interfaz de usuario del front-end, solo debe centrarse en la implementación. y mantenimiento de la lógica empresarial back-end, reduciendo la complejidad del mantenimiento.

  3. Mejorar la experiencia del usuario: la separación del front-end y el back-end permite que el front-end adopte marcos y tecnologías de front-end existentes, mejorando la libertad y flexibilidad del desarrollo de front-end y mejorando así la experiencia del usuario.

  4. Soporte multiplataforma: la separación de front-end y back-end permite que el desarrollo de front-end adopte múltiples tecnologías, admita múltiples terminales y plataformas y brinde una mejor experiencia de usuario.

  5. Mejorar la estabilidad y seguridad del sistema: la separación del front-end y el back-end permite que el front-end se ejecute en el lado del cliente, lo que hace que los servicios back-end sean más independientes, mejorando así la estabilidad y seguridad del sistema.

Supongo que te gusta

Origin blog.csdn.net/weixin_45490023/article/details/132500493
Recomendado
Clasificación