¿Cuál es la diferencia de desarrollar un sitio web en MVC y de 3 niveles o N-tier arquitectura?
-
27-09-2019 - |
Pregunta
¿Cuál es la diferencia de desarrollar un sitio web en MVC y de 3 niveles o la arquitectura de N-capas?
¿Cuál es mejor? ¿Cuáles son los pros y los contras?
Solución
Son más o menos la misma, sin embargo, en 3 niveles, el nivel superior (presentación) no se comunica directamente con la capa inferior (la persistencia de datos).
En el modelo-vista-controlador, en teoría, el modelo se supone que es 'notificar' la opinión de que ha cambiado para que la vista se puede actualizar. Sin embargo, esto no suele ser un problema en la mayoría de las aplicaciones web, ya que no tienen estado. No estoy seguro de si alguna conocidos arquitecturas PHP MVC tienen vistas que se comunican directamente con los modelos o viceversa, pero si no lo hacen sería correcto decir que en realidad son de 3 niveles.
Wikipedia dice:
A primera vista, los tres niveles de mayo parecer similar a la MVC (Modelo Vista Controlador) concepto; sin embargo, topológicamente son diferentes. UN norma fundamental en una de tres niveles la arquitectura es el nivel de cliente que nunca se comunica directamente con los datos nivel; en un modelo completamente de tres niveles la comunicación debe pasar a través de la nivel intermedio. conceptualmente, el arquitectura de tres niveles es lineal. Sin embargo, la arquitectura MVC es triangular: la vista envía cambios a el controlador, el controlador actualizaciones el modelo, y la vista se actualizan directamente del modelo.