¿Cómo implementar la arquitectura de tres niveles del proyecto del sitio web asp.net?
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 es beneficioso para el mantenimiento y las actualizaciones posteriores. Pero esto no necesariamente mejora el rendimiento, porque cuando el módulo del subprograma aún 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. Pero en términos de eficiencia en el desarrollo del equipo, podemos sentir esta diferencia.
Cabe señalar que la arquitectura de tres niveles no es exclusiva de .NET ni de las bases de datos. Es una filosofía de diseño arquitectónico más general.
La capa UI es la interfaz que interactúa con el usuario. El usuario envía una solicitud a la capa BLL a través de la capa UI, y la capa BLL envía una solicitud a la capa DAL. La capa DAL se vinculará a la base de datos para recuperar los datos requeridos y los devolverá a la capa de lógica empresarial, que los devolverá a la capa de lógica empresarial. responder al procesamiento de datos y luego presentarlos al usuario en la interfaz.
Las aplicaciones reales se segmentarán caso por caso, por lo que tendrá una estructura de múltiples niveles que tiene más capas pero que no se separa de la arquitectura de tres niveles, solo está segmentada. .
DALFactory se usa generalmente para obtener una instancia específica de DBUtility usando el principio de reflexión. Se utiliza para responder a cambios en la base de datos.
Utilice una frase para resumir la esencia de la arquitectura de tres niveles: ¡sacrifice la eficiencia a cambio de flexibilidad!
Al igual que si quiero producir un automóvil, solo necesito definir una estructura general. Por ejemplo, desarrollé 4 ruedas, un volante... En cuanto a las ruedas y el volante, es así. Está bien si desarrollas una función que debería tenerla (ésta es la función de la interfaz), como el coeficiente de fricción, etc., y luego está bien si dejas que otros fabricantes lo hagan. Mientras este fabricante lo haga, no me importa cómo lo haga, o no importa si lo cambio a otro fabricante y luego simplemente me dan ruedas que cumplan con mis estándares, porque solo veo lo que las ruedas debería tener la función (solo llamo a los métodos definidos en la interfaz, no me importa qué clase implementa esta interfaz).