La arquitectura MVC y n-tier puede parecer similar a primera vista, pero puede crear confusión para muchos. Examinemos cómo son equivalentes y luego cuál es mejor para qué tipo de escenario.
MVC n-Tier
1. Capa de presentación 1. Ver
- ¿En qué se diferencian BSD, Unix y Linux?
- ¿Qué significa exactamente la frase 'un protocolo se construye sobre otro'?
- ¿Qué posibilidades hay de que todos los entrevistadores de desarrolladores de software reciban la misma pregunta de programación técnica?
- ¿Qué problemas de ingeniería de software de la vida real sobresale Haskell?
- ¿Cómo debo acercarme a mi gerente sobre un líder tecnológico que escribe código que no se puede mantener?
2. Capa de lógica de negocios 2. Controlador
3. Capa de acceso a datos 3. Modelo
Lo anterior es solo una comparación cruda, hay muchas diferencias entre ellos.
Usamos MVC para proyectos de pequeña a mediana escala que involucran pocos desarrolladores. La aplicación n-Tier es para proyectos a gran escala donde cientos de desarrolladores trabajan en el mismo proyecto en su parte diferente. MVC carece de la capa de servicios empresariales (servicio web) en concepto, que es posible integrar con aplicaciones basadas en ventanas, basadas en web, e inteligentes clientes enriquecidos.
En MVC, el modelo podría mezclarse con entidades, acceso a datos y parte de mapeo de datos, lo que hace que el proyecto sea difícil de administrar en la misma ubicación, donde, como en n-tier, tiene una parte de acceso a datos separada y la capa empresarial contiene entidades comerciales, lógicas, ORM, etc.
Entonces, MVC es solo una versión en miniatura de la aplicación n-tier. Sin embargo, n-tier es para aplicaciones de grandes empresas y para aplicaciones que requieren computación distribuida y para mejorar el rendimiento de la aplicación y escalar la capacidad del servidor en consecuencia.
Una buena aplicación de n niveles tiene la siguiente capa:
Capa de presentación: (IU web, IU de ventana, IU de cliente enriquecido)
Capa de servicios empresariales: (servicio web como JSON, XML, SOAP, REST)
Capa empresarial: (Entidades comerciales, marco ORM de entidad utilizando XML o anotaciones basadas, Capa lógica empresarial)
Capa de datos: (persistencia de datos para diferentes tecnologías de bases de datos).
Por lo tanto, es mejor elegir la tecnología n-tier para todo tipo de aplicaciones desde el principio.