Diferencia entre revisiones de «Estilo arquitectural en capas (N-Layer)»
| (No se muestran 8 ediciones intermedias de 4 usuarios) | |||
| Línea 1: | Línea 1: | ||
| − | '''Estilo arquitectural en capas (N-Layer) ''' | + | {{Definición|nombre=Estilo arquitectural en capas|imagen=Arqencapas.jpg|tamaño= |
| − | + | |concepto=Distribución de roles}} '''Estilo arquitectural en capas (N-Layer)''', se basa en una distribución jerárquica de los roles y las responsabilidades para proporcionar una división efectiva de los problemas a resolver. Los roles indican el tipo y la forma de la interacción con otras capas y las responsabilidades la funcionalidad que implementan. | |
| − | + | ||
| − | + | ||
| − | |||
== Características == | == Características == | ||
*Descomposición de los servicios de forma que la mayoría de interacciones ocurre solo entre capas vecinas. | *Descomposición de los servicios de forma que la mayoría de interacciones ocurre solo entre capas vecinas. | ||
| Línea 16: | Línea 15: | ||
*Cada capa contiene la funcionalidad relacionada solo con las tareas de esa capa. | *Cada capa contiene la funcionalidad relacionada solo con las tareas de esa capa. | ||
*Las capas inferiores no tienen dependencias de las capas superiores. | *Las capas inferiores no tienen dependencias de las capas superiores. | ||
| − | *La comunicación entre capas está basada en una abstracción que proporciona un | + | *La comunicación entre capas está basada en una abstracción que proporciona un bajo acoplamiento entre capas. |
== Beneficios == | == Beneficios == | ||
| Línea 31: | Línea 30: | ||
*La aplicación debe soportar distintos tipos de clientes y distintos dispositivos. | *La aplicación debe soportar distintos tipos de clientes y distintos dispositivos. | ||
*Quieres implementar reglas y procesos de negocio complejos o configurables. | *Quieres implementar reglas y procesos de negocio complejos o configurables. | ||
| − | + | ||
| − | |||
== Fuentes == | == Fuentes == | ||
| − | + | De la Torre Llorente, César. Guía de Arquitectura N-Capas orientada al Dominio con .NET 4.0. | |
[[Category:Ciencias_informáticas]] | [[Category:Ciencias_informáticas]] | ||
última versión al 10:28 8 nov 2011
| ||||||
Estilo arquitectural en capas (N-Layer), se basa en una distribución jerárquica de los roles y las responsabilidades para proporcionar una división efectiva de los problemas a resolver. Los roles indican el tipo y la forma de la interacción con otras capas y las responsabilidades la funcionalidad que implementan.
Características
- Descomposición de los servicios de forma que la mayoría de interacciones ocurre solo entre capas vecinas.
- Las capas de una aplicación pueden residir en la misma máquina o estar distribuidos entre varios equipos.
- Los componentes de cada capa se comunican con los componentes de otras capas a través de interfaces bien conocidos.
- Cada nivel agrega las responsabilidades y abstracciones del nivel inferior.
- Muestra una vista completa del modelo y a la vez proporciona suficientes detalles para entender las relaciones entre capas.
- No realiza ninguna suposición sobre los tipos de datos, métodos, propiedades y sus implementaciones.
- Separa de forma clara la funcionalidad de cada capa.
Principios Claves
- Cada capa contiene la funcionalidad relacionada solo con las tareas de esa capa.
- Las capas inferiores no tienen dependencias de las capas superiores.
- La comunicación entre capas está basada en una abstracción que proporciona un bajo acoplamiento entre capas.
Beneficios
- Abstracción ya que los cambios se realizan a alto nivel y se puede incrementar o reducir el nivel de abstracción que se usa en cada capa del modelo.
- Aislamiento ya que se pueden realizar actualizaciones en el interior de las capas sin que esto afecte al resto del sistema.
- Rendimiento ya que distribuyendo las capas en distintos niveles físicos se puede mejorar la escalabilidad, la tolerancia a fallos y el rendimiento.
- Testeabilidad ya que cada capa tiene una interfaz bien definida sobre la que realizar las pruebas y la habilidad de cambiar entre diferentes implementaciones de una capa.
- Independencia ya que elimina la necesidad de considerar el hardware y el despliegue así como las dependencias con interfaces externas.
Cuando usarlo
- Ya tienes construidas capas de una aplicación anterior, que pueden reutilizarse o integrarse.
- Ya tienes aplicaciones que exponen su lógica de negocio a través de interfaces de servicios.
- La aplicación es compleja y el alto nivel de diseño requiere la separación para que los distintos equipos puedan concentrarse en distintas áreas de funcionalidad.
- La aplicación debe soportar distintos tipos de clientes y distintos dispositivos.
- Quieres implementar reglas y procesos de negocio complejos o configurables.
Fuentes
De la Torre Llorente, César. Guía de Arquitectura N-Capas orientada al Dominio con .NET 4.0.