2010-05-16 2 views
24

Quelle est la différence de développer un site Web dans l'architecture MVC et à 3 niveaux ou N-tier?Quelle est la différence de développement d'un site Web dans MVC et 3-Tier ou N-tier architecture?

Lequel est le meilleur? Quels sont les avantages et les inconvénients?

+0

doublons possibles: 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 –

Répondre

13

Ils sont à peu près les mêmes, mais dans 3 niveaux, le niveau supérieur (présentation) ne communique jamais directement avec la couche inférieure (persistance des données). Dans le modèle-vue-contrôleur, théoriquement, le modèle est censé «notifier» la vue qu'il a été modifié afin que la vue puisse être mise à jour. Cependant, ce n'est généralement pas un problème dans la plupart des applications Web, car ils sont sans état. Je ne suis pas sûr si les architectures PHP MVC bien connues ont des Vues qui communiquent directement avec des Modèles ou vice versa, mais si elles ne le font pas, il serait correct de dire qu'elles sont en fait à 3 niveaux.

Wikipedia dit:

À première vue, les trois niveaux peuvent sembler similaire à la MVC (Model View Controller ) Concept; cependant, topologiquement, ils sont différents. Une règle fondamentale dans une architecture à trois niveaux est le niveau client jamais communique directement avec le niveau de données ; Dans un modèle à trois niveaux, toutes les communications doivent passer par le niveau middleware . Conceptuellement, l'architecture à trois niveaux est linéaire. Toutefois, l'architecture MVC est triangulaire: la vue envoie des mises à jour à le contrôleur, le contrôleur met à jour le modèle, et la vue est mise à jour directement à partir du modèle.

Source: Wikipedia: Multitier architecture

+0

Dans la plupart des frameworks MVC modernes, le modèle ne communique jamais avec la vue. Tout passe par le contrôleur. – anemaria20

Questions connexes