2010-05-16 11 views
24

¿Cuál es la diferencia de desarrollar un sitio web en MVC y arquitectura de 3 niveles o N niveles?¿Cuál es la diferencia entre 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?

+0

posibles duplicados: http://stackoverflow.com/questions/899803/have-i-implemented-an-tier-application-with-mvc-correctly?rq=1, http : //stackoverflow.com/questions/1135056/mvc-application-how-does-mult-tier-architecture-fit-in? rq = 1, http://stackoverflow.com/questions/14451444/mvc-multi-tier -mobile-application –

Respuesta

13

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 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 similar a la MVC (Modelo Vista Controlador ) concepto; sin embargo, topológicamente son diferentes. Una regla fundamental de en una arquitectura de de tres niveles es el nivel de 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.

Fuente: Wikipedia: Multitier architecture

+0

En la mayoría de los frameworks MVC modernos, el modelo nunca se comunica con la vista. Todo pasa por el controlador. – anemaria20

Cuestiones relacionadas