web-dev-qa-db-fra.com

Où puis-je trouver des exemples clairs de MVC?

J'ai lu quelques trucs sur les MVC mais je ne comprends toujours pas quand ils doivent être utilisés et quand ils ne doivent pas l'être. Je cherche des exemples clairs qui disent des choses comme "si vous développez cela, vous devez utiliser MVC, comme celui-ci" et "si vous développez cela, vous ne devriez pas utiliser MVC."La plupart des exemples que j'ai vus s'appuient sur des cadres complexes qui ont déjà tout implémenté et vous devez apprendre le cadre et l'utiliser beaucoup pour comprendre ce qui se passe réellement. Pour de nombreux programmeurs, des phrases telles que"Logique métier de l'interface utilisateur"Cela ressemble à des termes marketing - par exemple, les mots"Au lieu de cela, la vue se lie directement à un modèle de présentation"sont utilisés dans ce message.

Je suis conscient des dangers qui peuvent se cacher dans l'ombre car MVC est un concept et tout le monde a l'impression de le connaître le mieux, mais personne ne sait vraiment exactement comment l'utiliser car il peut y avoir beaucoup de variables impliquées et tout le monde est autorisé à avoir une perspective différente sur la façon de disséquer un projet dans le modèle, la vue et le contrôleur. Il y a beaucoup de théorie, mais très peu d'exemples clairs. Ce que je recherche ne sont pas "les meilleures" façons de le faire, donc cela ne doit pas être considéré comme subjectif; Je cherche différent facile des implémentations qui me permettraient de décider par moi-même quelles sont les meilleures approches.

En résumé: quelles sont les bonnes ressources en ligne qui présentent des arguments pour et contre l'utilisation de MVC dans diverses situations et fournissent des exemples clairs pour aider le lecteur à comprendre le concept?

45
Tom

OMI, les meilleurs exemples sont avec du code et/ou des kits de démarrage.

Rob Conery a un grand nombre de publications qui explique comment créer un site MVC avec ASP.NET MVC. Chacun d'eux a un tutoriel vidéo qui traverse la discussion de l'article de blog.

Le site officiel ASP.NET MVC possède également publications vidéo , des kits de démarrage ( ici , ici et - ici ) et sauce supplémentaire pour aider.

IMO, MVC est la voie à suivre pour les sites Web. Sans cracher tout le jargon et le marketing, il décompose vraiment votre code en sections Nice, séparées et définies. Chacune de ces sections peut également être testée .. ce qui aide vraiment à protéger le processus de développement car vous avez la tranquillité d'esprit sachant que toucher une partie du système n'en casse pas une autre (car les tests passent tous après votre dernier changement).

Autres blogs que vous devriez consulter:

13
Pure.Krome

En supposant que vous vouliez dire MVC pour le Web, vous auriez du mal à trouver quelque chose de plus concis que les 60 lignes de code suivantes:

http://code.google.com/p/barebonesmvc-php/

Notons en particulier la "méthode modèle" sendResponse, qui à son tour est essentiellement composée des 2 appels de méthode suivants:

applyRequestToModel

applyModelToView

4
George Jempty

L'une des notes les plus élevées que j'ai vues est le Learn MVC in 7 days post. Bien sûr, aussi bon soit-il, il fait toujours pâle figure par rapport à un livre comme Pro ASP.NET MVC 4

2
Serj Sagan
1
Ray Tayek

Je l'ai fait dans tous les sens pour divers projets. De tout coder pour une application dans un grand grand PHP (OK, il a commencé comme un petit PHP qui vient de grandir)./Framework Freemarker où mes lignes 5O de Java code ont été perdues dans une mer de XML et de codage de modèle.

Vous pouvez faire MVC sans framework, et, en php, c'est probablement le moyen le plus simple. Si tout votre code de navigation est dans un seul script avec seulement une logique de navigation, alors vous faites MVC!

Pour tout autre chose qu'un QDP (Quick Dirty Page), je recommanderais d'utiliser une sorte de MVC. Imaginez ce que vous auriez besoin de faire si l'entreprise disait "puis-je avoir une version en français" ou "un excellent programme mais je veux stocker les données dans la base de données xxxxx".

1
James Anderson

Il est souvent difficile de séparer clairement votre logique de vue avec votre logique métier. Si vous lisez abit sur les exemples JSF et JSP, vous pouvez voir des exemples clairs de MVC en cours d'utilisation. Séparant complètement la vue de la logique métier.

Si vous cherchez de bonnes informations sur MVC, je peux suggérer http://en.wikipedia.org/wiki/Model-view-controller

C'est un sujet important et j'aime vraiment l'idée de séparer les différentes logiques. Il aide le programmeur et toutes les autres personnes travaillant sur le projet.

0
Chris Dale