php - vista - ¿Cuál es la diferencia de desarrollar un sitio web en MVC y arquitectura de 3 niveles o N niveles?
mvc ejemplos (1)
Son prácticamente lo mismo, sin embargo, en 3 niveles, el nivel superior (presentación) nunca se comunica directamente con la capa inferior (persistencia de datos).
En el modelo-vista-controlador, teóricamente se supone que el Modelo ''notifica'' a la Vista que ha cambiado para que la Vista pueda actualizarse. Sin embargo, esto generalmente no es un problema en la mayoría de las aplicaciones web porque son apátridas. No estoy seguro de si alguna arquitectura de PHP MVC conocida tiene Vistas que se comuniquen directamente con Modelos o viceversa, pero si no lo hacen, sería correcto decir que son de hecho de 3 niveles.
Wikipedia dice:
A primera vista, los tres niveles pueden parecer similares al concepto MVC (controlador de vista de modelo); sin embargo, topológicamente son diferentes. Una regla fundamental en una arquitectura de tres niveles es que el nivel del cliente nunca se comunica directamente con el nivel de datos; en un modelo de tres niveles, todas las comunicaciones deben pasar por el nivel de middleware. Conceptualmente, la arquitectura de tres niveles es lineal. Sin embargo, la arquitectura MVC es triangular: la Vista envía actualizaciones al Controlador, el Controlador actualiza el Modelo y la Vista se actualiza directamente desde el Modelo.
¿Cuál es la diferencia de desarrollar un sitio web en MVC y arquitectura de 3 niveles o N niveles?
¿Cuál es mejor? ¿Cuáles son los pros y los contras?