Selon Sun et Msdn, il s'agit d'un modèle de conception.
Selon Wikipedia, c'est un modèle architectural
Par rapport aux modèles de conception, les modèles architecturaux sont à plus grande échelle. (Wikipédia - Motif architectural )
Ou est-ce un modèle architectural qui a également un modèle de conception?
Lequel est vrai?
Réponses:
MVC est plus un modèle architectural, mais pas pour une application complète. MVC concerne principalement la couche d'interaction / interface utilisateur d'une application. Vous aurez toujours besoin d'une couche de logique métier, peut-être d'une couche de service et d'une couche d'accès aux données. Autrement dit, si vous êtes dans une approche à n niveaux.
la source
Pourquoi l'un d'eux doit-il être vrai?
Les deux peuvent être vrais, selon le point de vue.
MVC peut être un modèle architectural, s'il constitue la base de l'architecture de l'application.
Il peut également être considéré comme un simple motif de conception, une notion abstraite applicable à toute application.
la source
Les modèles de conception indiquent comment écrire du code efficacement (en tenant compte des métriques de code ).
Quelques avantages:
Les modèles architecturaux indiquent comment utiliser efficacement les ressources.
la source
Je sais que cela a été répondu il y a quelque temps, mais personne n'a encore mentionné le livre qui a rendu MVC célèbre: Pattern-Oriented Software Architecture (POSA), de Buschmann et al publié en 1996. Bien que moins lu que le livre Design Patterns , par Gamma, et al, POSA est l'un des livres fondateurs utilisés par la communauté des patterns.
Oh, et POSA identifie très clairement MVC comme un modèle architectural. Mon intuition est que MS et Sun sont simplement négligents et appellent chaque modèle un «modèle de conception».
la source
Je pense que les deux sont vrais. Si vous regardez une instanciation particulière de MVC dans un framework comme Ruby on Rails, cette instanciation est davantage un modèle de conception. Si vous considérez MVC comme un concept général , il s'agit davantage d'un modèle architectural.
la source
Les modèles de conception à l'intérieur de la triade de classes Modèle / Vue / Contrôleur (MVC) incluent et peuvent ne pas être limités à:
Observateur , découplage des objets de sorte que les modifications apportées à l'un (le modèle) puissent affecter un nombre quelconque d'autres (les vues) sans que l'objet modifié (le modèle) connaisse les détails des autres (les vues).
Composite , qui nous permet de traiter un objet de groupe (une vue composite) comme nous traitons l'un de ses objets individuels (composants de vue).
Stratégie , où une vue utilise une instance d'une sous-classe de contrôleur pour mettre en œuvre une stratégie de réponse particulière; pour implémenter une stratégie différente, remplacez simplement l'instance par un autre type de contrôleur.
Méthode d'usine , spécifiant la classe de contrôleur par défaut pour une vue.
Décorateur , ajoutant le défilement à une vue.
Référence
Eric Gamma, Richard Helm, Ralph Johnson et John Vlissides. Modèles de conception: éléments d'un logiciel orienté objet réutilisable . Addison-Wesley, Reading, MA, 1994.
la source
MVC toujours mentionné et introduit comme / dans la couche de présentation dans les livres d'architecture logicielle.
Lisez ces livres:
Architecture de solutions Microsoft.NET pour l'entreprise (Microsoft press)
Modèles de conception ASP.NET professionnels (Wrox)
Modèles de solutions Enterpise utilisant Microsoft.NET (Microsoft press)
Modèles d'architecture d'application d'entreprise (Addison Wesley)
Un guide pratique de l'architecture d'entreprise (Prentice Hall)
la source
Si vous mettez dix architectes logiciels dans une pièce et que vous leur demandez de discuter du modèle Modèle-Vue-Contrôleur, vous vous retrouverez avec douze opinions différentes. … Certains des puristes auront inévitablement des scrupules à ce que j'appelle «MVC». N'hésitez pas à laisser un commentaire enflammé sur le babillard électronique au bas de cette page Web. Je serai heureux de connaître différentes perspectives sur ce que signifie MVC, mais gardez à l'esprit que je m'en fiche.
Josh Smith
la source
Et selon Martin Fowler, ce sont des architectures GUI: les architectures Martin Fowler-GUI
Cela dépend de la taille de l'application, car il n'affecte que les classes liées à l'interface graphique, dans un petit (principalement GUI), il pourrait être considéré comme un modèle architectural alors que dans un énorme, ce serait juste un modèle de conception que vous appliquez à l'interface graphique. code (peut représenter 10% du code des applications).
la source
MVC est un modèle d'architecture. Très clairement indiqué et affiché sur http://molecularsciences.org/zend/mvc_model_view_controller
la source