El uso de arquitecturas de capas en asp.net

Video: ASP net 3 Capas completo

Un enfoque para el diseño de aplicaciones Web es centrarse en capas bien definidas de la arquitectura de la aplicación. Este enfoque es similar a la forma en que un arquitecto diseña un edificio. Si alguna vez has visto los planos de construcción detallados para un rascacielos, conoce los planes de construcción incluyen planos separados para la fundación, marco, techo, plomería, electricidad y otros pisos del edificio.

Con una arquitectura en capas, los especialistas pueden diseñar y desarrollar los “suelos” - llamada capas - de manera independiente, siempre que las conexiones entre las capas (la las interfaces) Están pensados ​​cuidadosamente.

Las capas deben ser independientes entre sí, tanto como sea posible. Entre otras cosas, esto significa prestar atención a unos shalt no tienen Deber-DOS y:

  • Cada capa debe tener un enfoque claramente definido. Para diseñar las capas correctamente, debe explicar claramente las tareas y responsabilidades de cada capa.
  • Las capas deben ocuparse de sus asuntos. Si una capa es responsable de la interacción del usuario, sólo se permite que la capa de comunicarse con el usuario. Otras capas que necesitan para obtener información del usuario deben hacerlo a través de la capa de interfaz de usuario.

Video: Parte 1 - Implementar el Abstract Factory en la capa de datos

  • Claramente protocolos definidos se deben configurar para las capas interactúen uno con el otro. La interacción entre las capas se produce sólo a través de estos protocolos.

Tenga en cuenta que las capas no están vinculados directamente a cualquier aplicación particular. Por ejemplo, una arquitectura podría funcionar igual de bien para un sistema de pedidos en línea y de un foro en línea. Como resultado, la arquitectura en capas no tiene nada que ver con la relación de entidades que definen una base de datos o los diagramas de flujo de datos que definen cómo los flujos de datos dentro de la aplicación. Es una estructura independiente.

¿Cuántas capas?

Hay varios enfoques comunes para la arquitectura de aplicaciones que varían en función del número de capas utilizadas. Un esquema común es romper la aplicación en dos capas:

  • Capa de aplicación: El diseño de la interfaz de usuario y la implementación de políticas de negocio se manejan en esta capa. Esta capa también puede manejar lógica transacción - el código de que las actualizaciones de bases de datos en grupos de transacciones y se asegura de que todas las actualizaciones de una transacción se hacen constantemente.
  • Acceso a datos de capa: El motor de base de datos subyacente que soporta la aplicación. Esta capa es responsable de mantener la integridad de la base de datos. Algunas o todas la lógica transacción puede implementarse en esta capa.

En el modelo de dos capas, la capa de aplicación es las páginas Web ASP.NET que definen las páginas presentadas al usuario, así como los archivos de código subyacente que implementan la lógica de la aplicación. La capa de acceso de datos es el servidor de base de datos que gestiona la base de datos, como Microsoft SQL Server u Oracle.

Tenga en cuenta que ASP.NET 2.0 no requiere que coloque código de la lógica de la aplicación en un separada archivo de código subyacente. En su lugar, se puede intercalar el código de la lógica con el código de presentación en el mismo archivo. Sin embargo, es casi siempre una buena idea utilizar archivos de código subyacente separadas para separar la lógica de la aplicación de su código de presentación. Todas las aplicaciones presentadas en este libro utilizar archivos de código subyacente separadas.

La división entre la aplicación y capas de acceso a datos no siempre es tan clara como podría ser. Por motivos de rendimiento, la lógica de transacción a menudo se desplaza hacia el servidor de base de datos (en forma de procedimientos almacenados), y las reglas de negocio a menudo se implementan en el servidor de base de datos con las limitaciones y los factores desencadenantes. Por lo tanto, el servidor de base de datos a menudo trabaja con algunos de la lógica de aplicación.

Si este desorden le molesta, se puede utilizar una arquitectura de tres capas, lo que añade una capa adicional para manejar las reglas de negocio y políticas:

  • Capa de presentación: Esta capa se encarga de la interfaz de usuario.
  • Reglas de Negocio capa: Esta capa se encarga de reglas y políticas de negocio de la aplicación. Por ejemplo, si una aplicación de ventas otorga descuentos a determinados usuarios, la política de descuento se aplica en esta capa.
  • Acceso a datos de capa: El modelo de base de datos subyacente que soporta la aplicación.

Creación de una capa separada de reglas de negocio le permite separar las reglas del diseño de base de datos y la lógica de presentación. Las reglas de negocio están sujetos a cambios. Colocándolos en una capa separada, tiene una tarea más fácil de cambiarlas más tarde que si están incorporados en la interfaz de usuario o el diseño de la base de datos.

Modelo-Vista-Controlador

Otro modelo común para el diseño de aplicaciones Web se llama Modelo-Vista-Controlador (MVC). En esta arquitectura, la aplicación se divide en tres partes:

  • Modelo: Los modelo es, en efecto, capa de negocio de la aplicación. Por lo general, se compone de objetos que representan las entidades empresariales que componen la aplicación, tales como clientes y productos.
  • Ver: los ver es la interfaz de usuario de la aplicación. En una aplicación web, esta consiste en una o más páginas HTML que definen la apariencia de la aplicación.
  • Controlador: los controlador gestiona los eventos procesados ​​por la aplicación. Los eventos se generan habitualmente por las acciones de interfaz de usuario, como por ejemplo el usuario hace clic en un botón o seleccionar un elemento de una lista desplegable.

En una aplicación típica ASP.NET, el archivo .aspx implementa la vista- las funciones del modelo y de controlador se combinan y manejados por el archivo de código subyacente. Por lo tanto, el archivo de código subyacente puede ser pensado como el modelo de controlador.

Puede, por supuesto, separar las funciones de modelo y el controlador mediante la creación de clases separadas para las entidades comerciales. Para simplificar, las aplicaciones en este libro siguen el modelo funciona y controlador combinados en el archivo de código subyacente.

Artículos Relacionados