La Red de Conocimientos Pedagógicos - Conocimientos históricos - ¿Qué es una arquitectura de tres niveles? ¿Cuáles son las principales funciones e interrelaciones de cada capa?

¿Qué es una arquitectura de tres niveles? ¿Cuáles son las principales funciones e interrelaciones de cada capa?

En general, hablando de la arquitectura de tres niveles, en realidad divide toda la aplicación empresarial en la capa de presentación, la capa de lógica empresarial, la capa de acceso a datos, etc.

Capa de acceso a datos DAL, capa de lógica de negocio BLL. Modelo de UI (clase de interfaz) de capa de presentación (capa de modelo de datos, no necesito mencionar las principales. Generalmente están en la base de datos), el modelo está en todas partes. Todo se refiere a él, bll se refiere a dal, ui se refiere a dal y bll, y luego llama

La arquitectura de tres niveles agrega una "capa intermedia" entre el cliente y la base de datos, también llamada capa de componente. . El sistema de tres niveles mencionado aquí no se refiere a las tres capas físicas, no significa simplemente colocar tres máquinas, que es la arquitectura de tres niveles. No es solo la aplicación B/S la que es la arquitectura de tres niveles. El sistema de tres niveles se refiere a la lógica de tres capas, incluso si estas tres capas se colocan en una máquina.

Tres capas ordinarias: Capa de acceso a datos DAL: se utiliza para realizar la interacción y el acceso a la base de datos, obtener datos de la base de datos o guardar datos en la base de datos. Capa de lógica empresarial BLL: la capa de lógica empresarial conecta las capas superior e inferior y se utiliza para procesar lógicamente los datos interactivos superiores e inferiores para lograr los objetivos comerciales. UI de la capa de presentación: implementa principalmente la interacción con los usuarios, recibe solicitudes de los usuarios o devuelve la visualización de los resultados de datos solicitados por los usuarios, mientras que el procesamiento de datos específico se deja a la capa de lógica empresarial y la capa de acceso a datos. Modelo de entidad comercial: se utiliza para encapsular la estructura de datos de clase de entidad, generalmente se usa para mapear tablas de datos o vistas de la base de datos para describir objetos objetivamente existentes en el negocio. El modelo está separado para un mejor desacoplamiento, un mejor desempeño del papel de capas, una mejor reutilización y expansión y una mayor flexibilidad. Biblioteca de clases común Común: clase de herramienta auxiliar general

Modo de ingeniería: el modo de fábrica simple, también conocido como modo de método de fábrica estático (Static Factory Method), es un modo de creación de clases, generalmente basado en una condición (parámetro) para devolver instancias de diferentes clases.

El rol de fábrica (Creador)

es el núcleo del patrón de fábrica simple, que es responsable de crear instancias de todas las clases de productos específicas. El mundo exterior puede llamar directamente a la clase de fábrica para crear los objetos de producto requeridos.

Rol de producto abstracto (Producto)

Es la clase principal de todos los roles de producto específicos. Es responsable de describir todas las interfaces públicas de todas las instancias.

Rol de producto concreto (Producto concreto)

El objetivo de creación del patrón de fábrica simple se hereda del rol de producto abstracto, generalmente múltiple. La clase de fábrica devuelve un producto específico del rol.

Normalmente, el cliente no interactúa directamente con la base de datos, sino que establece una conexión con la capa intermedia a través de comunicación COM/DCOM y luego intercambia con la base de datos a través de la capa intermedia.

Perfecto Los requisitos de la estructura de tres niveles son: modificar la capa de presentación sin modificar la capa lógica, modificar la capa lógica sin modificar la capa de datos, de lo contrario, si su aplicación tiene una estructura multicapa o si hay problemas con ella. La división y organización de la estructura de capas es difícil de decir. Diferentes aplicaciones tienen diferentes entendimientos. Esta es una cuestión conceptual.

Los modelos en los sistemas MVC se pueden dividir conceptualmente en dos categorías: el estado interno del sistema y las acciones que cambian el estado del sistema. El modelo es donde residen todas las piezas de código de lógica empresarial. Este artículo proporciona objetos de entidad comercial y objetos de procesamiento comercial para el modelo: todos los objetos de procesamiento comercial son subclases derivadas de la clase ProcessBase. El objeto de procesamiento de negocios encapsula una lógica de procesamiento específica, llama al modelo de lógica de negocios y envía la respuesta al componente de vista apropiado para generar una respuesta. Los objetos de entidad comercial pueden describir los datos del formulario del cliente definiendo propiedades. Todos los objetos de entidad comercial son objetos de subclase derivados de EntityBase, y los objetos de procesamiento comercial pueden leerlos y escribirlos directamente, sin la necesidad de interactuar con objetos de solicitud y respuesta para obtener datos. El soporte para la interacción entre vistas y modelos se implementa a través de objetos de entidad comercial.

Durante la implementación, se separan "qué hacer" (procesamiento comercial) y "cómo hacerlo" (entidades comerciales). Esto permite la reutilización de la lógica empresarial. Dado que el negocio específico de cada aplicación es diferente, aquí no se enumeran ejemplos de código específicos.

MVC (Modelo-Vista-Controlador) es un patrón de diseño que podemos utilizar para crear una distinción entre objetos de dominio y objetos de capa de presentación de UI. A nivel de arquitectura se parecen en que todos tienen una capa de presentación, pero sus diferencias radican en las otras dos capas. El concepto de Controlador no está definido en la arquitectura de tres niveles. Esto es lo que creo que es lo más diferente. MVC no considera el acceso lógico empresarial como dos capas. Ésta es la principal diferencia entre utilizar una arquitectura de tres niveles o MVC para crear un programa. Por supuesto. El modelo también se menciona en la arquitectura de tres niveles, pero el concepto de Modelo en la arquitectura de tres niveles es diferente del concepto de Modelo en MVC. La capa de Modelo típica en la arquitectura de "tres niveles" se compone de clases de entidad. en MVC, consta de lógica empresarial y datos de acceso.

Está escrito en la arquitectura MVC en ASP NET y tiene una escalabilidad extremadamente buena. Puede lograr fácilmente las siguientes funciones: ① Implementar múltiples vistas de un modelo; ② Usar múltiples controladores ③ Cuando el modelo cambie, todas las vistas se actualizarán automáticamente ④ Todos los controladores funcionarán de forma independiente. Este es el beneficio de la arquitectura MVC. Puede agregar fácilmente muchas funciones del programa simplemente modificando el programa anterior o agregando nuevas clases. Muchas clases desarrolladas previamente se pueden reutilizar y ya no es necesario cambiar la estructura del programa. Cada clase es independiente entre sí, lo que facilita el desarrollo del grupo y mejora la eficiencia del desarrollo. Analicemos cómo implementar un programa con un modelo, dos vistas y un controlador. No es necesario cambiar la clase de modelo y la clase de vista, son exactamente iguales que antes. Este es el beneficio de la programación orientada a objetos. Para la clase en el controlador, solo necesita agregar otra vista y asociarla con el modelo. El diagrama esquemático entre la vista, el controlador y el modelo en este modo se muestra en la Figura 2. También es posible implementar otras formas de MVC como: un modelo, dos vistas y dos controladores. Como se puede ver en lo anterior, las aplicaciones implementadas a través de la arquitectura MVC tienen una escalabilidad extremadamente buena y son la dirección futura de la programación orientada a objetos ASP NET.

Las deficiencias de MVC se reflejan en los siguientes aspectos: (1) Mayor complejidad de la estructura e implementación del sistema. Para interfaces simples, seguir estrictamente MVC y separar el modelo, la vista y el controlador aumentará la complejidad de la estructura, puede generar demasiadas operaciones de actualización y reducir la eficiencia operativa. (2) Conexión demasiado estrecha entre la vista y el controlador. La vista y el controlador son componentes que están separados entre sí, pero de hecho están estrechamente relacionados. La vista no tiene la existencia del controlador y su aplicación es muy limitada, y viceversa, lo que dificulta su reutilización independiente. 3) Acceso ineficiente de View a los datos del modelo. Dependiendo de la interfaz de operación del modelo, es posible que sea necesario llamar a la vista varias veces para obtener suficientes datos de visualización. El acceso innecesariamente frecuente a datos no modificados también perjudicará el rendimiento operativo. (4) Actualmente, las herramientas o constructores de interfaz avanzada general no son compatibles con la arquitectura MVC. Adaptar estas herramientas para satisfacer las necesidades de MVC y crear componentes separados es costoso, lo que dificulta el uso de MVC.

La arquitectura de tres niveles divide el código en tres partes según sus funciones, y cada parte resuelve su propio proceso. La función de la arquitectura de tres niveles es controlar la estructura de programas web a gran escala. para que sean fáciles de administrar y expandir.

Al diseñar la interfaz de usuario, no necesitamos preocuparnos por los problemas de lógica y datos. y modificando, todo lo que necesitamos resolver es HTML. La estructura del código se ve limpia y ordenada, y también es limpia y ordenada de ejecutar.

La interfaz de usuario envía directamente la tarea de la lógica del programa al BLL. y BLL comienza a construir los detalles de implementación específicos. La creación de BLL depende del negocio. Por ejemplo, un sistema de artículos, BLL_Aticle significa que se utiliza para procesar artículos. que se muestra en la posición reservada de la interfaz de usuario. Cuando BLL_Aticle necesite obtener datos de la base de datos, la tarea será Lanzarlos a la capa DAL

La capa DAL es específicamente responsable de tratar con la base de datos. Obtiene parámetros del BLL, organiza un SQL válido, establece una conexión a la base de datos, ejecuta el SQL para actualizar u obtener y entrega los datos devueltos al BLL.

Cada parte del negocio se concentra en un. La cadena UI-BLL-DAL, y la parte superior e inferior son claras en cuanto a cómo facilitar la administración y la expansión, lo analizaremos más adelante con ejemplos.

Las formas de vida complejas deben tener reglas de supervivencia complejas. Si desea aplicar bien la arquitectura de tres niveles en sus propios proyectos, necesita utilizar más experiencia para comprender las reglas de la aplicación.

Mi comprensión de la arquitectura de tres niveles no es lo suficientemente profunda. Sería bueno. Si estos artículos pueden considerarse ideas inspiradoras, no se limite a las reglas que concebí al leer. Debe practicar más en aplicaciones específicas y encontrar sus propias reglas de acuerdo con situaciones específicas. Este tipo de conocimiento es una oportunidad para progresar, pero definitivamente no es el resultado final. Una vez que tenga el conocimiento, aplíquelo, podrá descubrir sus ventajas y desventajas y continuar mejorándolo.

Tres-. La arquitectura de niveles es mejor que la arquitectura de dos niveles. O la estructura de una sola capa tiene mayores ventajas. La estructura de tres niveles es adecuada para el desarrollo del grupo. Cada persona puede tener una división del trabajo diferente y el trabajo colaborativo puede duplicar la eficiencia. Al desarrollar una aplicación de dos niveles o de un solo nivel, cada desarrollador debe tener un conocimiento profundo del sistema y requisitos de alta capacidad. Al desarrollar una aplicación de tres niveles, se pueden combinar múltiples talentos y solo unas pocas personas tienen una experiencia integral. comprensión del sistema. Reduce la dificultad del desarrollo hasta cierto punto.

La arquitectura de tres niveles es un modelo de cliente ligero. El cliente sólo necesita un disco duro más pequeño, una memoria más pequeña y una CPU más lenta para obtener un buen rendimiento. Por el contrario, los clientes monocapa o pesados ​​imponen exigencias demasiado altas al procesador.

Otra ventaja de la arquitectura de tres niveles es que puede soportar mejor los entornos informáticos distribuidos. Las aplicaciones de capa lógica pueden ejecutarse en varias máquinas, aprovechando al máximo las capacidades informáticas de la red. El potencial de la informática distribuida es enorme y mucho más eficaz que actualizar la CPU.

La mayor ventaja de la arquitectura de tres niveles es su seguridad. El usuario sólo puede acceder a la capa de datos a través de la capa lógica, lo que reduce los puntos de entrada y bloquea muchas funciones peligrosas del sistema.