Question

Selon Sun et Msdn il est un modèle de conception.

Selon Wikipedia est un motif architectural

  

Par rapport à la conception des modèles, les modèles architecturaux sont plus grandes à l'échelle.   (Wikipedia - Décor architectural)

Ou il est un modèle architectural qui a également un modèle de conception?

Lequel est vrai?

Était-ce utile?

La solution

MVC est plus d'un modèle architectural, mais pas pour une application complète. MVC concerne principalement la couche UI / interaction d'une application. Vous allez encore avoir besoin de couche logique métier, peut-être une couche de service et de la couche d'accès aux données. Autrement dit, si vous êtes dans l'approche n-tier.

Autres conseils

Pourquoi un d'entre eux doivent être vrai?

Les deux peuvent être vrai, selon le point de vue.

MVC peut être un modèle architectual, si elle constitue la base de l'architecture de l'application.

Il peut également être considéré comme un simple modèle de conception, une notion abstraite qui est applicable à toute application.

Design patterns dire comment écrire efficacement le code (en considérant code de Metrics ).

Quelques avantages:

  1. maintenable facilement
  2. Haute Réutilisabilité
  3. Lisible en raison des abstractions

motifs architecturaux dire comment utiliser efficacement les ressources.

  1. tâches parallèles exécution comme les programmeurs et les graphistes peuvent travailler en parallèle.
  2. Les technologies multiples peuvent être utilisées pour construire un logiciel.
  

Dans MVC,      a). Les vues peuvent être créés à l'aide des modèles javascript et html aussi peut être utilisé     b). Les contrôleurs peuvent être écrits framework .NET et     c) Les modèles peuvent être écrits en Java -.. Un service java peut être utilisé qui retourne uniquement les données JSON

     

Alors que dans le modèle de conception, un modèle ne peut pas être mis en œuvre dans laquelle   code peut être écrit dans plusieurs technologies, comme la classe AdminUser en Java,   classe client en C #, classe Partners en Php et un modèle d'usine en Ruby   :); hmmm..so facile:)

Je sais qu'il a été répondu il y a quelque temps, mais personne n'a encore mentionné le livre qui fait MVC célèbre: architecture logicielle orientée modèle (POSA), par Buschmann, et al publié en 1996. Bien que pas aussi largement lu comme design patterns livre, par Gamma, et al, POSA est l'un des livres fondamentaux utilisés par la communauté des motifs.

Oh, et POSA identifie très clairement MVC comme un modèle architectural. Mon intuition est que MS et Sun sont juste d'être bâclée et appeler chaque modèle un « modèle de conception ».

Je pense que les deux sont vrais. Si vous cherchez à un particulier instanciation de MVC dans un cadre comme Ruby on Rails, que instanciation est plus d'un modèle de conception. Si vous regardez MVC comme concept général , il est plus d'un modèle architectural.

Si vous mettez dix architectes logiciels dans une salle et demandez-leur de discuter ce que le modèle Model-View-Controller est, vous finirez avec douze opinions différentes. ... Certains des puristes, il y aura inévitablement des états d'âme avec ce que je décrirais comme « MVC ». Ne hésitez pas à laisser un commentaire sur la flamboyante carte de message en bas de cette page Web. Je serai heureux de connaître différents points de vue sur ce que signifie le MVC, mais gardez à l'esprit que je ne me soucie pas.

Josh Smith

Les modèles de conception à l'intérieur de la triade Model / View / Controller (MVC) des classes comprennent et peuvent ne pas se limiter à:

  • L'Observateur , le découplage des objets afin que les modifications à l'un (le modèle) peut affecter un nombre quelconque d'autres (les vues) sans que l'objet modifié (le modèle) pour connaître les détails de la d'autres (les vues).

  • Composite , ce 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; de mettre en œuvre une stratégie différente, il suffit de remplacer l'instance avec une sorte de contrôleur différent.

  • Méthode usine , en spécifiant la classe de contrôleur par défaut pour une vue.

  • Décorateur , en ajoutant le défilement à une vue.


Référence

  • Pages 4 à 6 (section 1.2 Design Patterns dans Smalltalk MVC)
  • Pages 293-304 (design pattern Observer)
  • Pages 163-174 (design pattern Composite)
  • Pages 315-324 (design pattern stratégie)
  • Pages 107-116 (modèle de conception Méthode usine)
  • Pages 175-185 (modèle de conception décorateur)

Eric Gamma, Richard Helm, Ralph Johnson et John Vlissides. Design Patterns: Elements de logiciel orienté objet réutilisable . Addison-Wesley, Reading, MA, 1994.

Et selon Martin Fowler, ils sont les architectures GUI: Martin architectures Fowler-GUI

Cela dépend de la taille de l'application, car elle ne concerne que l'interface graphique des classes liées, dans un petit (GUI la plupart du temps), il pourrait être considéré comme un modèle architectural alors que dans un énorme, il serait juste un modèle de conception que vous appliquez à l'aide du code d'interface graphique (peut-être 10% du code des applications).

MVC est le modèle d'architecture. Très clairement indiqué et montré http://molecularsciences.org/zend/mvc_model_view_controller

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top