Definición de un sistema de 3 niveles

8

Las personas a menudo afirman que están siguiendo una 'arquitectura de 3 niveles (o n niveles)' y, a veces, luego dicen que están cambiando a un modelo de dominio. Pero realmente nunca he entendido qué es esta mítica "arquitectura de 3 niveles". Parece que no tiene una definición formal. Si bien hay numerosas referencias y ejemplos que explican y demuestran el patrón del modelo de dominio, cualquier referencia a 3 niveles sugiere simplemente que debe separar su código en UI, lógica de negocios y capas de acceso a datos. Y eso es todo lo que parecen decir.

Lo que me parece particularmente extraño es que para mí, el Modelo de Dominio es la encarnación perfecta de este paradigma de 3 niveles. el ORM y los archivos de mapeo son la capa de acceso a datos, el dominio es la lógica de negocios y la interfaz de usuario es la interfaz de usuario. Entonces, ¿por qué la gente habla como si fuera algo nuevo y diferente, y algo a lo que deberían cambiar?

Antes de ver a la gente implementando el Modelo de Dominio, la mayoría de las aplicaciones eran UI que accedían a procedimientos almacenados con la lógica dividida en la IU y los SP. A veces había algunos ensamblajes llamados 'UI', 'BLL' y 'DLL', pero normalmente eran solo mediadores entre las UI y los SP, dejando más lugares para que la lógica se distribuyera al azar.

Entonces, ¿qué es esta mítica arquitectura de '3 niveles'? ¿Realmente existe? y si es así, ¿dónde están bien implementados algunos ejemplos?

    
pregunta Paul T Davies 16.10.2011 - 21:02

1 respuesta

9

La definición de arquitectura de 3 niveles es un caso especial de la arquitectura de nivel n . En una arquitectura de n niveles, hay n componentes y cada uno solo interactúa con el componente inmediatamente "arriba" y "debajo". Una arquitectura de tres niveles tiene tres componentes de este tipo.

Normalmente, una arquitectura de tres niveles consiste en una capa de interacción con el usuario, la capa de reglas de negocios y la capa de servicios de datos (incluidas las bases de datos). La capa de interacción del usuario solo emite solicitudes a la capa de reglas empresariales, que recupera datos de los diversos servicios de datos, la procesa y luego la devuelve al usuario a través de la capa de interacción del usuario.

La arquitectura de n niveles es un ejemplo de un patrón arquitectónico (o estilo arquitectónico). Simplemente define algunas restricciones en la arquitectura del sistema. Por sí mismo, no es una vista completa de la arquitectura del sistema. Aunque estoy seguro de que hay sistemas que implementan algo así como una arquitectura de tres niveles, es solo un patrón destinado a establecer una discusión para el diseño e implementación adicional de un sistema.

    
respondido por el Thomas Owens 16.10.2011 - 21:19

Lea otras preguntas en las etiquetas