¿Cómo hacer un buen trabajo en...? NET marco 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 agrega The Funciones de cada capa de la regla comercial 1: Capa de acceso a datos: principalmente la capa de operación de los datos originales (en forma de datos almacenados en una base de datos o archivo de texto, etc.), no los datos originales, es decir, es el operación de datos, no de la base de datos. Específicamente, proporciona servicios de datos para la capa de lógica de negocios o capa de presentación.
2. Capa de lógica empresarial: se centra principalmente en las operaciones de problemas específicos y también puede entenderse como las operaciones de la capa de datos y el procesamiento lógico de los servicios de datos. Si la capa de datos es un bloque de construcción, entonces la capa lógica es la construcción de estos bloques de construcción.
3. Capa de presentación: representa principalmente el modo WEB, y también se puede expresar como modo WINFORM también se puede expresar como: aspx. Si la capa lógica es bastante potente y completa, entonces la capa lógica puede proporcionar servicios perfectamente sin importar cómo se defina y cambie la capa de presentación. 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. De hecho, su función principal es completar diversas operaciones en archivos de datos. No se consideran otras operaciones.
2. Capa de lógica de negocio: Principalmente responsable del funcionamiento de la capa de datos. En otras palabras, algunas operaciones de la capa de datos se fusionan.
3. Capa de presentación: Se utiliza principalmente para aceptar solicitudes de usuarios y devolver datos, proporcionando a los clientes acceso a las aplicaciones. Explicación de la estructura de tres niveles
La llamada arquitectura de tres niveles agrega una capa intermedia entre el cliente y la base de datos, también llamada capa de componentes. El sistema de tres niveles mencionado aquí no se refiere a las tres capas físicas, o simplemente a tres máquinas o una arquitectura de tres niveles, ni significa que solo las aplicaciones B/S tengan una arquitectura de tres niveles. Se refiere a las tres capas lógicas, incluso si estas tres capas se colocan en una máquina. Las aplicaciones de tres niveles colocan las reglas comerciales, el acceso a los datos, la verificación de la legalidad y otras tareas en la capa intermedia para su 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 comunicación COM/DCOM y luego intercambia con la base de datos a través de la capa intermedia.
Los desarrolladores pueden colocar la lógica empresarial de la aplicación en el servidor de aplicaciones de nivel medio y separar la lógica empresarial de la aplicación de la interfaz de usuario. Con la premisa de garantizar la funcionalidad del cliente, se proporciona una interfaz sencilla para los usuarios. Esto significa que si es necesario modificar el código de una aplicación, solo es necesario modificar el servidor de aplicaciones de nivel medio, en lugar de miles de aplicaciones cliente. Esto permite a los desarrolladores concentrarse en analizar, diseñar y desarrollar la lógica empresarial central del sistema de aplicaciones, simplificando el desarrollo, la actualización y la mejora del sistema de aplicaciones. Entonces, ¿por qué deberíamos aplicar la "capa de empresa intermedia"? Para dar algunos ejemplos:
Suponiendo que haya un código de inicio de sesión, podemos manejar el programa web de esta manera. La capa de apariencia es responsable de recibir los datos de la página principal y luego pasarlos a la capa intermedia. La capa intermedia procesa los datos, como formatearlos, evitar la inyección de SQL, etc. Luego, dichos datos se pasan a la capa de acceso a datos y luego se operan con la base de datos, como hacer coincidir el nombre de usuario y la contraseña de la base de datos, etc.
La "capa empresarial intermedia" tiene muchos usos, como validar los datos introducidos por los usuarios, almacenar en caché los datos leídos de la base de datos, etc... Pero el propósito real de la "capa empresarial intermedia" es combinar la "capa de acceso a datos" La lógica de almacenamiento más básica forma una regla de negocio. Por ejemplo, "Un determinado sitio web de compras tiene la regla de que el sistema registrará automáticamente a los usuarios que compren 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, ¡debemos garantizar la atomicidad de las funciones en la "capa de acceso a datos"! a saber, minimalismo e inseparabilidad. La "capa de acceso a datos" sólo es responsable de almacenar o leer datos.
Descripción de la estructura de tres niveles de ASP.NET
Los requisitos para una estructura completa de tres niveles son: modificar la capa de presentación no modifica la capa lógica, y modificar la La capa lógica no modifica 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 interpretaciones. Esto es sólo un problema conceptual. Comprender la estructura de tres niveles en ASP. NET-¿Por qué hay tres capas?
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. Es posible que el rendimiento no mejore porque el módulo del programa principal solo puede esperar en un estado en el que el módulo del subprograma no se está ejecutando. Se puede ver que la aplicación en capas traerá cierta pérdida en su velocidad de ejecución. Pero desde la perspectiva de la eficiencia del desarrollo del equipo, podemos sentir un efecto completamente diferente.
Cabe señalar que la estructura de tres capas no está patentada por China. NET no es una tecnología utilizada específicamente para bases de datos. Es un concepto de diseño arquitectónico más general.
Con esta arquitectura, se debe prestar atención a la relación entre tablas en el diseño de la base de datos y se debe satisfacer la relación maestro-esclavo tanto como sea posible. Debe haber algunas restricciones en las funciones del usuario, que no deben reflejarse en la precaución al eliminar subtablas, para evitar errores lógicos en los datos de la tabla principal y las subtablas, y las claves externas de la tabla principal no tienen correspondencia. valores en la subtabla.
El método de consulta integral para esta tabla es:
Primero consulte la tabla principal y llame al DL correspondiente a la tabla principal. Luego consulte cada subtabla según los registros de la tabla principal. Cuando los resultados de la consulta de la tabla se agregan a la tabla principal, se forma un gran conjunto de consultas.
Para operaciones de tabla (agregar, eliminar y modificar):
En este momento, 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 juzga principalmente los datos cargados por la página. Por encima de la capa RL se encuentra cómo la interfaz de usuario crea 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-C #Bloque de construcción-Acceso a datos (capa de datos, en lo sucesivo denominada capa D)
Agregar nuevo proyecto -Otros Proyecto-Plantilla Empresarial Proyecto-C #Bloque de Construcción-Reglas de Negocio (Capa Empresarial, en lo sucesivo denominada Capa C)
Agregar-Nuevo Proyecto-Otros Proyectos-Plantilla Empresarial Proyecto-C #Bloque de Construcción- Interfaz de usuario web (capa de interfaz (en lo sucesivo denominada capa U).
Haga clic derecho en la solución - Dependencias del proyecto, configure U como dependiente de D y configure C y C como dependientes de D.
Agregue las referencias d y c a u, y agregue la referencia d a c.
Hasta el momento se ha erigido una estantería de tres pisos. Lo que dije arriba es muy específico y muy "estúpido". Todos los que saben piensan que estoy diciendo tonterías. De hecho, tengo la fuerte sensación de que muchas personas no entienden en absoluto este sencillo proceso. Aunque no hay objeciones a construir dos "proyectos vacíos" y un "proyecto de aplicación web Asp.net" que también pueda usarse como un marco de tres niveles, un número considerable de personas cree que estos "proyectos de plantilla de nivel empresarial" son En realidad, proyectos vacíos. Esto es una especie de malentendido. Sí, el proyecto Enterprise Template no es nada en el Explorador de soluciones, pero puede abrir el archivo del proyecto con el Bloc de notas. ¿Ves la diferencia? Algunas cosas han sucedido, pero el sistema está listo. En otras palabras, si "usa datos del sistema sqlclinic" en una clase en la capa C, o usa el objeto SqlConnection, no habrá ningún error durante la compilación, pero se generarán algunas "advertencias de política" en la "lista de tareas" para Le advierto que no Las cosas que deberían colocarse en la capa D se colocan en la capa C (aunque esto es cierto en lo que respecta al programa, la legibilidad y el mantenimiento están comprometidos. Esta función no se puede lograr con un proyecto vacío). En el nuevo Trace Word 3, se aplica el "Proyecto de plantilla empresarial". Coloque el LWordTask.cs original en un único proyecto denominado AccessTask. En la solución se creó un nuevo proyecto llamado InterService, que contiene un archivo de programa LWordService.cs, que es el programa de "capa empresarial intermedia". Para no cambiar el nombre, el sitio web de Trace Word 3 se coloca en el proyecto WebUI. Se puede encontrar un código más completo en el directorio del paquete de código/palabra de seguimiento 3: la combinación de objetos y realidad.
Sabemos que se necesitan ladrillos para construir un puente, por eso hay que preparar los ladrillos antes de construir un puente, pero por el orden, la coherencia y la simplicidad de la explicación. Primero construimos el puente y es necesario volver a producir los ladrillos durante el proceso de construcción, para que no queden más "cosas que no son necesarias para el puente". Tenga en cuenta que, en la operación real, primero se deben preparar los ladrillos.
La capa u es en realidad un puente, la capa C es un ladrillo y la capa D es una materia prima (piedra, arena). Esto también explica por qué la capa U se refiere y se basa en la capa D (en lugar de las capas U a C y C a D), porque el puente requiere no sólo ladrillos, sino también piedra y arena. Desventajas de la "estructura de tres capas" Algunos internautas me hicieron algunas preguntas después de leer el artículo anterior de este artículo, lo que me recordó que hasta ahora el artículo no ha mencionado las deficiencias de la "estructura de tres capas". El término "arquitectura de tres niveles" parece haber sido siempre popular y la razón puede ser que este modelo de desarrollo se utiliza ampliamente. Sin embargo, la "estructura de tres capas" no es una panacea para la alondra y también tiene desventajas. Primero hablemos de sus deficiencias... Una deficiencia muy obvia del modelo de desarrollo de "estructura 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. A juzgar por el diagrama de tiempos proporcionado en este artículo, esta deficiencia también queda claramente expuesta. TraceLWord1 y TraceLWord2 no son jerárquicos y llaman directamente a las clases proporcionadas por ADO.NET para obtener datos. Sin embargo, la palabra de rastreo 6 debe llamarse varias veces para obtener datos. Cuando el programa del módulo de subprograma no regresa, el módulo del programa principal solo puede estar en estado de espera. Por lo tanto, en términos de velocidad de ejecución, cuanto mayor sea la versión del tablero de mensajes, menor será la clasificación. El modelo de desarrollo de "estructura de tres niveles" no es adecuado para sistemas que tienen requisitos demasiado estrictos en cuanto a la velocidad de ejecución, como la reserva de boletos en línea, el comercio de acciones en línea, etc. Es más adecuado para sistemas donde las reglas comerciales son fáciles de cambiar. . El modelo de desarrollo de "estructura de tres niveles" es difícil de iniciar y de comprender y aprender. Esto es para principiantes en programación. El software desarrollado en este modo suele tener más código. Esto a menudo deja a los principiantes ahogados en un vasto mar de código. Es comprensible sentir miedo y disgusto por esto... De hecho, no importa qué modelo o método de desarrollo, existen pros y contras. No existe una solución única para ningún problema. ¡Así que el término "estructura de tres niveles" no es una excepción! La utilización de este modelo para el desarrollo del sistema solo se puede decidir después de compararlo y sopesarlo.
¡Evita el abuso!