Red de conocimiento informático - Material del sitio web - ¿Cómo hacer buenos proyectos con el marco de tres niveles .NET?

¿Cómo hacer buenos proyectos con el marco de tres niveles .NET?

El cartel pregunta sobre el marco de tres niveles de .NET, la tecnología de programación convencional actual. También podría hablar sobre mis propios puntos de vista. Espero que los amigos puedan dejar su propia comprensión de la arquitectura de tres niveles. El concepto de arquitectura de tres niveles

Capa de presentación de interfaz de usuario (USL), capa de lógica empresarial (BLL) y capa de acceso a datos (DAL)

BLL separa USL de DAL y lo incorpora a la negocio Las funciones de cada capa de las reglas 1: Capa de acceso a datos: es principalmente una capa que opera sobre datos originales (base de datos o archivos de texto, etc.) en forma de datos almacenados. es decir, los datos operados, no una base de datos, y está diseñada específicamente para La capa de lógica de negocios o capa que proporciona servicios de datos

2: La capa de lógica de negocios: se enfoca principalmente en las operaciones de problemas específicos, y. también puede entenderse como las operaciones de la capa de datos, que realiza el procesamiento de lógica de negocios en los datos. Si la capa de datos son bloques de construcción, la capa lógica es la constructora de estos bloques de construcción.

3: Capa de presentación. : expresado principalmente en modo WEB, también se puede expresar en modo WINFORM, y el modo WEB también se puede expresar como: aspx, si la capa lógica es bastante poderosa Y perfecto, no importa cómo se defina y cambie la capa de presentación. La capa lógica puede proporcionar servicios perfectos. Métodos de diferenciación específicos.

1: Capa de acceso a datos: depende principalmente de si su capa de datos contiene procesamiento lógico. en archivos de datos sin preocuparse por otras operaciones.

2: Capa de lógica empresarial: es la principal responsable de las operaciones de la capa de datos.

3: Capa de presentación: acepta principalmente al usuario. solicita, devuelve datos y proporciona acceso a aplicaciones para los clientes.

La llamada arquitectura de tres niveles consiste en agregar una capa intermedia entre el cliente y la base de datos, también llamada capa de tres. El sistema de tres niveles mencionado aquí no se refiere a las tres capas físicas. No es simplemente una arquitectura de tres niveles donde se colocan tres máquinas, ni es solo una arquitectura de tres niveles. Tener una aplicación B/S es una arquitectura de tres niveles. La arquitectura de tres niveles se refiere a las tres capas lógicas, incluso si estas tres capas se colocan en una máquina, la aplicación del sistema de tres niveles combina las reglas comerciales, el acceso a los datos y la legalidad y otros trabajos se colocan en la capa intermedia. procesamiento 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 la comunicación COM/DCOM y luego intercambia con la base de datos a través de la capa intermedia. Lógica empresarial de la aplicación en el servidor de aplicaciones de nivel medio para separar la lógica empresarial de la aplicación de la interfaz de usuario y proporcionar a los usuarios una interfaz sencilla al tiempo que se garantiza la funcionalidad del cliente. Esto significa que si es necesario modificar el código de la aplicación, solo el Es necesario modificar el servidor de aplicaciones de nivel medio en lugar de miles de aplicaciones cliente. De esta manera, los desarrolladores pueden centrarse en el análisis, diseño e implementación de la lógica empresarial central del sistema de aplicaciones, simplificando el desarrollo, la actualización y la actualización. sistemas de aplicación. Entonces, ¿por qué deberíamos aplicar una "capa empresarial intermedia"? Por ejemplo:

Suponemos que hay un código de inicio de sesión que puede manejar el programa web y que la capa de apariencia es responsable de recibirlo. frontend. Los datos de la página luego se pasan a la capa intermedia. La capa intermedia procesa los datos, como el formateo, la inyección anti-SQL y otros datos. base de datos, como hacer coincidir el nombre de usuario y el nombre de usuario en la base de datos, contraseña, etc. parte del código.

La "capa empresarial intermedia" tiene muchos usos, como validar la entrada del usuario, almacenar en caché los datos leídos de la base de datos, etc. ……. Sin embargo, el propósito real de la "capa empresarial intermedia" es integrar datos en la base de datos. Sin embargo, el propósito real de la "capa empresarial intermedia" es combinar la lógica de almacenamiento más básica de la "capa de acceso a datos" para formar reglas comerciales. Por ejemplo, "En un sitio web de compras, existe una regla: el sistema registra automáticamente a los usuarios que compran en el sitio web por primera vez". Este tipo de lógica empresarial se coloca mejor en la capa intermedia: en la "capa de acceso a datos", ¡es mejor no tener ninguna "lógica empresarial"! En otras palabras, ¡se debe garantizar la atomicidad de las funciones en la "capa de acceso a datos"! Minimización e indivisibilidad. La capa de acceso a datos "solo se encarga de almacenar o leer datos.

Estructura de tres niveles en ASP.NET

Los requisitos para una estructura de tres niveles perfecta son: modificar la capa de rendimiento sin modificar la capa lógica y modificar la capa lógica sin modificar la capa de datos. De lo contrario, es difícil saber si su aplicación tiene una estructura de múltiples capas o si hay un problema con la división y organización de la estructura de capas. Diferentes aplicaciones tienen diferentes entendimientos, es solo una cuestión de concepto. Comprenda la estructura de tres niveles en ASP.NET: ¿por qué tres niveles?

Adoptamos una estructura de tres niveles principalmente para hacer más clara la estructura del proyecto y la división del trabajo, lo que favorece el mantenimiento y las actualizaciones posteriores. Pero puede que no necesariamente mejore el rendimiento, porque cuando el módulo del subprograma no ha completado la ejecución, el módulo del programa principal solo puede estar en estado de espera. Esto sugiere que dividir una aplicación en capas ralentiza su ejecución. Sin embargo, desde la perspectiva de la eficiencia del desarrollo del equipo, la diferencia es obvia.

Cabe señalar que la arquitectura de tres niveles no es exclusiva de .NET ni de las bases de datos. Es un concepto de diseño arquitectónico más general.

Este tipo de arquitectura debe prestar atención a la relación entre tablas en el diseño de la base de datos y tratar de satisfacer la relación entre la tabla principal y la subtabla. Deben existir ciertas restricciones funcionales para los usuarios al eliminar una subtabla, debe prestar atención a las operaciones que no se muestran para evitar que los datos aparezcan lógicamente en la tabla principal y las claves externas en la tabla principal no tendrán los efectos correspondientes. en la subtabla. El método de consulta integral para la tabla es:

Primero consulte la tabla principal y llame al DL correspondiente a la tabla principal. Luego consulte cada subtabla por separado según los registros de la tabla principal. Después de agregar los resultados de la consulta de la tabla propia a la tabla principal, se forma un gran conjunto de consultas.

Operaciones sobre tablas (agregar, eliminar y modificar):

Esta vez solo se opera la tabla principal y se llama al método de operación en el DL correspondiente a la tabla principal.

La capa RL es una capa de juicio lógico, que realiza principalmente juicios lógicos sobre los datos pasados ​​en la página. Encima de la capa RL está la interfaz de usuario Cómo crear una solución de arquitectura de tres niveles

Cree una nueva solución en blanco. Luego:

"Agregar"-"Nuevo proyecto"-"Otros proyectos"-"Proyecto de plantilla empresarial"-"Bloque de generación C#"-"Acceso a datos" (capa de datos, en lo sucesivo denominada capa D)

"Agregar"-"Nuevo proyecto"-"Otros proyectos"-"Proyecto de plantilla empresarial"-"Bloque de generación C#"-"Reglas comerciales" (capa comercial, en lo sucesivo denominada capa C)

"Agregar"-"Nuevo proyecto"-"Otros proyectos"-"Proyecto de plantilla empresarial"-"Bloque de generación C#"-"UI web" (capa de interfaz, en lo sucesivo denominada capa U)

Haga clic derecho en "Solución" - "Dependencias del proyecto". "

Agregue referencias a D y C para U, y agregue referencias a D para C.

En este punto, se crea un marco de tres capas. Lo que dije anteriormente es muy específico También es "estúpido". Las personas que lo saben piensan que estoy diciendo tonterías. De hecho, creo que esta vez muchas personas no entienden este simple proceso, aunque no se oponen a construir dos "vacíos". "proyectos de plantilla empresarial" y un proyecto de aplicación web "Asp".net" también se pueden utilizar como un marco de 3 niveles, y muchas personas piensan que estos "proyectos de plantilla empresarial" y lo que mucha gente considera estos "proyectos de plantilla empresarial" en realidad son proyectos vacíos. Esto es un malentendido. Así es, el proyecto de plantilla empresarial que ve en el Explorador de soluciones es un proyecto sin nada, pero puede abrir el archivo del proyecto con el Bloc de notas y ver qué es diferente. Mira, todavía no, pero el sistema está listo.

Es decir, si "usa System Data SqlClineit" en una clase en la capa C, o usa un objeto SqlConnection, no habrá ningún error al compilar, pero se generarán algunas "listas de tareas", pero algunas "listas de tareas" ". Se generarán algunas "advertencias de política" que le advierten que no coloque cosas que deberían colocarse en la capa D en la capa C (aunque esto es cierto para el programa, la legibilidad y el mantenimiento se verán comprometidos), y para esta función , el proyecto vacío es que no te lo puedo dar. En el nuevo TraceLWord3, se aplica el "Proyecto de plantilla empresarial". Coloque el LWordTask.cs original en un proyecto separado con el nombre del proyecto: AccessTask. La solución crea un nuevo nombre de proyecto: InterService. Este proyecto contiene un archivo de programa LWordService.cs, que es el programa de "capa empresarial intermedia". Este es el programa de la "capa empresarial media". Para evitar la duplicación de nombres, el sitio web TraceLWord3 se coloca en el proyecto WebUI. Se puede encontrar un código más completo en el directorio CodePackage/TraceLWord3 - Objeto de imagen de cara y real

Sabemos que se necesitan ladrillos para construir un puente, y primero debemos preparar los ladrillos y luego construir el puente, pero en fin para expresar orden y coherencia y sencillez. Primero construyamos el puente y hagamos nuevamente los ladrillos necesarios en el proceso de construcción del puente, para que no haya más "cosas innecesarias para construir el puente". Cabe señalar que, en la operación real, los ladrillos aún deben prepararse primero.

La capa U es en realidad el puente, la capa C son los ladrillos y la capa D son las materias primas (piedras, arena). Esto también explica por qué la capa U haría referencia y dependería de la capa D anteriormente (en lugar de una jerarquía de U a C y de C a D), ya que el puente en realidad requiere piedra y arena además de ladrillos. Desventajas de la "arquitectura de tres niveles" Algunas personas me han hecho preguntas después de leer la primera mitad de este artículo, lo que me recuerda que hasta ahora no he mencionado las desventajas de la "estructura de tres niveles". "Parece muy popular, tal vez porque es un patrón de desarrollo común. Sin embargo, la "arquitectura de tres niveles" no es una "panacea" y también tiene sus propios defectos. Aquí están sus desventajas... Una desventaja muy obvia del modelo de desarrollo de "arquitectura de tres niveles" es que la velocidad de ejecución no es lo suficientemente rápida. Por supuesto, esta "velocidad de ejecución" es relativa a las aplicaciones sin capas. El diagrama de secuencia proporcionado también revela claramente esta deficiencia. TraceLWord1 y TraceLWord2 no están en capas. Llaman directamente a las clases proporcionadas por ADO.NET para obtener datos. Sin embargo, TraceLWord6 requiere múltiples llamadas para obtener datos. el estado de espera cuando el módulo no regresa. Por lo tanto, en términos de velocidad de ejecución, cuanto mayor sea la versión del panel de información, menor será la clasificación. El modelo de desarrollo de "estructura de tres niveles" no es adecuado para sistemas que requieren demasiado alto. velocidad de ejecución, como: reserva de boletos en línea, negociación de acciones en línea, etc. ...es más adecuado para sistemas donde las reglas de negocio son fáciles de cambiar. El modelo de desarrollo de "arquitectura de tres niveles" es difícil de entender y aprender. Este modelo es adecuado para principiantes en programación. El software desarrollado en este modelo generalmente tiene un volumen de código ligeramente mayor, lo que a menudo ahoga a los principiantes en un mar de código. sentirse intimidado por ello. Y el resentimiento es comprensible... La verdad es que, no importa qué modelo o método de desarrollo, hay pros y contras. No existe una solución única para cualquier problema". "La arquitectura de niveles" no es una excepción. Se debe comparar y sopesar si se debe utilizar este modelo para el desarrollo del sistema. ¡No abuses de él!