« Salut Amigo ! »

"Salut, Bilaabo !"

"Vous êtes déjà un programmeur solide. Donc, aujourd'hui, nous allons avoir une leçon sur MVC."

"MVC signifie ModelViewController . C'est un modèle de conception architecturale pour les grandes applications, où l'application est divisée en trois parties."

"La première partie contient toute la logique métier de l'application . Cette partie s'appelle le modèle . Elle contient le code qui fait tout ce pour quoi l'application a été créée. Cette partie est la moins dépendante des autres."

"La deuxième partie contient tout ce qui concerne l' affichage des données à l'utilisateur . Cette partie s'appelle la vue . Elle contient le code qui contrôle l'affichage des fenêtres, des pages, des messages, etc."

"La troisième partie contient le code qui traite les actions de l'utilisateur . Toute action de l'utilisateur destinée à modifier le modèle doit être gérée ici. Cette partie s'appelle le   contrôleur ."

"Cette approche vous permet de créer trois choses indépendamment :  la logique du programme (le modèle) , le mécanisme d'affichage des données du programme à l'utilisateur (la vue) et un gestionnaire pour les entrées/actions de l'utilisateur (le contrôleur) ."

"Les applications ont souvent plusieurs vues . C'est normal. Vous pouvez afficher exactement les mêmes données dans Excel sous forme de chiffres et de diagrammes. Dans les jeux, vous pouvez afficher les événements à partir d'une vue à la première personne, à la troisième personne ou sur la carte, ainsi que de nombreuses autres . Toutes ces vues sont différentes pour un seul modèle ."

"Tout le code qui décide quoi changer dans le modèle en réponse aux actions de l'utilisateur est rassemblé dans le Controller . Par exemple, si l'utilisateur décide de fermer le programme, vous devez enregistrer les données du modèle dans un fichier sur le disque. Ou si l'utilisateur saisit de nouvelles données, vous devez les ajouter au modèle. Le modèle informera alors toutes les vues des changements de données, de sorte qu'elles n'affichent que l'état actuel des données.

"Répète ça."

"Du point de vue d'un développeur Java, nous pourrions dire que le modèle, la vue et le contrôleur sont trois groupes de classes où :"

" a)  chaque partie a son propre but ; "

« b)  les relations entre les classes d'un même groupe sont très fortes ; »

« c)  les relations entre les groupes sont très faibles ; »

" d)  les façons dont les parties communiquent entre elles sont fortement réglementées."

"Et voici une autre façon de l'imaginer:

MVC-1

"Le modèle est la partie la plus indépendante du système . Il ne dépend pas de la vue ou du contrôleur. Le modèle ne peut pas utiliser les classes de la vue ou des groupes de contrôleurs (!)."

"La principale limitation de la vue est qu'elle ne peut pas modifier le modèle . Les classes de vue peuvent accéder au modèle pour les données ou pour s'abonner aux événements, mais les classes de vue ne peuvent pas modifier le modèle."

"La principale limitation du contrôleur est qu'il n'affiche pas de données . Le contrôleur traite les actions de l'utilisateur et modifie le modèle en conséquence."

« Mais pourquoi ai-je besoin de ça ?

"Le fait que vous ne l'utilisiez pas en ce moment ne signifie pas que vous ne l'utiliserez pas dans un avenir proche. Vous étudiez ici pour trouver un emploi. Et même si cette connaissance ne s'avère pas utile pendant étudier, il sera certainement utile tout en travaillant."

"Après tout, de vrais projets et interviews vous attendent encore..."

"Nous sommes ici pour parler ensemble maintenant, mais peut-être que dans un mois vous travaillerez déjà."

"Tu as tout à fait raison, Bilaabo. Je vais t'écouter attentivement."

"Le modèle MVC est très courant dans l'architecture des applications. Vous devez le connaître, afin de ne pas commencer soudainement à ajouter des classes de vue au modèle parce que vous trouvez cela plus pratique."

"La chose la plus importante dans tout projet est son architecture.  Votre tâche à ce stade n'est pas tant de pouvoir créer une bonne architecture que d'apprendre à comprendre celle de quelqu'un d'autre. Vous aurez encore besoin de grandir pendant un quelques années avant de créer le vôtre. Mais vous devez comprendre ce que les autres ont créé. Tout de suite.

"Lorsqu'une application utilise une architecture standard, tout devient beaucoup plus clair. En connaissant l'architecture, vous savez où se trouvent les choses, comment tout interagit, à peu près comment le programme fonctionne, où ajouter une classe nécessaire et où rechercher la cause de un bug."

"Mais, si vous n'êtes pas familier avec les approches standard de l'architecture, alors même la meilleure architecture ne vous dira rien. Vous serez comme un paysan du moyen âge regardant une nouvelle voiture. Une voiture standard."

"Je vois. Merci pour cette leçon intéressante, Bilaabo."

"Enfin, voici un bon lien que vous devriez absolument consulter :"

Lien vers du matériel supplémentaire