2010-05-05 3 views

Répondre

0

Model-View-Controller (MVC) est une architecture logicielle [1], actuellement considéré comme un modèle architectural utilisé en génie logiciel. Le modèle isole la "logique de domaine" (la logique d'application pour l'utilisateur) de entrée et présentation (GUI), permettant le développement indépendant, tests et maintenance de chacun.

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

Modèle-Vue-présentateur est un modèle logiciel , considéré comme un dérivé de le modèle modèle-vue-contrôleur.

http://en.wikipedia.org/wiki/Model-view-presenter

Ainsi,

MVC est un modèle de conception. Un motif de conception est une structure de code qui permet la réplication rapide de cadres de codage communs. Vous pourriez penser à un modèle de conception comme un squelette ou un cadre sur lequel votre application sera construite. L'avantage le plus évident d'un framework MVC est qu'il vous aide à séparer la logique métier (base de données) et la logique de présentation (conception).

En gros:

  1. modèles contiennent tout et tout le code qui se rapporte à votre base de données et d'autres structures de données. Si vous aviez une table appelée pages, vous auriez un modèle et des fonctions pour sélectionner, créer, mettre à jour et supprimer des enregistrements de cette table, entre autres choses.

  2. Vues contiennent tous vos éléments d'affichage et l'interface utilisateur, votre code JavaScript, Cascading Style Sheets (CSS), HTML, et même PHP.

  3. Contrôleurs maintenez le tout ensemble. Chaque fonction dans un contrôleur représente une destination ou un itinéraire. Si vous aviez une destination appelée/about, votre contrôleur aurait une fonction appelée about(). Fondamentalement, un contrôleur décide quel modèle et quelle vue exécuter. C'est un contrat entre les vues et les modèles.

+3

ce sont des définitions, pas des opinions sur (c'est ce qui est demandé) –

2

J'ai quelques conseils pour vous qui viennent de mon expérience en utilisant chacun.

MVC - Ce modèle/architecture est vieux, essayé et testé. Vraiment super pour les projets Web où les vues sont séparées du serveur (et du modèle).

Cependant, je pense qu'il existe de meilleurs modèles lorsque le modèle est disponible qui peut être utilisé à la place de MVC. MVP - Utilisez-le lorsque vous n'avez pas de datacontext qui autorise la liaison (par exemple, WinForms). En outre, si vous n'êtes pas en mesure d'utiliser ASP.NET MVC pour une raison quelconque, mais peut toujours utiliser ASP, MVP peut être une migration facile pour aider à séparer les vues de votre modèle.

En guise de note finale, je sais que cela n'a pas été demandé, mais MVVM est probablement le meilleur de la grappe. Vous pouvez l'utiliser si vous avez un datacontext qui fournit une méthode complète de liaison aux propriétés et méthodes d'autres classes (WPF). MVVM est supérieur à MVP en ce sens qu'il réduit la quantité de code puisque vous n'avez plus besoin de gérer les interfaces d'affichage. Mon article MVVM vs MVP vs MVC: The differences explained explique cela plus en détail.

Questions connexes