Sommaire

Modèle - Vue - Contrôleur (MVC)

1. Présentation

Encore une fois, un concept primordial de la POO est la séparation des responsabilités. Lorsque ces responsabilités sont nombreuses et très décorrélées, il est primordial d’abstraire le plus possible les interfaces entre les classes concernées. Un exemple typique concerne les IHM (interfaces homme-machine). Imaginons un gros projet où chaque modification est coûteuse en temps de tests et de déploiement. Dans ce projet, tout fonctionne parfaitement : des composants graphiques affichant la liste des prochains vols pour telle destination (par exemple) à la communication avec les serveurs des aéroports pour mettre cette liste à jour. Malheureusement, un bogue est découvert sur l’objet qui représente la liste des vols, et il faut donc le remplacer par un autre conteneur, dont les méthodes d’accès sont légèrement différentes.

Si jamais ce logiciel, pourtant fonctionnel, a été modélisé comme un monolithe, à savoir sans séparer les responsabilités, alors absolument tout est à retester et à redéployer. Tandis que si, comme le préconise le design pattern MVC, les données et la façon dont elles sont stockées (le modèle), les composantes de l’interface graphique (la vue) et la couche de communication entre les deux (le contrôleur) sont implémentées ...