====== Design Pattern ====== ===== Introduction ===== Introduction sous forme d'une VIDEO en Français https://www.youtube.com/watch?v=DK6vSUVfyug **Pour en savoir plus sur le Patron DAO** https://cyrille-herby.developpez.com/tutoriels/java/mapper-sa-base-donnees-avec-pattern-dao/ ===== Choisir un patron à étudier parmi ceux-ci ===== Par groupe de 2 à 3 étudiants maximum - choisir un des patrons parmi la liste ci-dessous; - au sein d'un groupe de projet de plus de 3 étudiants, sélectionner 2 patrons différents, un étudiant peut contribuer à 2 rendus; - au sein d'un groupe de TD, un patron ne peut pas être sélectionné plus de 3 fois. - l'appliquer dans le cadre du projet, éventuellement en étendant un peu le projet par des codes non connectés au projet lui-même; - Le **rendu se fera sur Moodle** (quand il sera accessible...) sous la forme : - Un document contenant les diagrammes UML qui explique comment le patron a été mis en oeuvre en identifiant clairement les rôles joués par les différentes classes, - Un Zip contenant les codes correspondants. Au sein d'un groupe de TD au plus 2 groupes sur un patron. **Patron Stratégie** Strategy https://refactoring.guru/design-patterns/strategy **Patron Flyweight** Flyweight https://refactoring.guru/design-patterns/flyweight **Patron Builder** Builder https://refactoring.guru/design-patterns/builder **Patron Proxy** Proxy https://refactoring.guru/design-patterns/proxy **Patron Facade** Facade https://refactoring.guru/design-patterns/facade **Patron Chaîne de responsabilité** Patron Chaîne de responsabilité https://refactoring.guru/design-patterns/chain-of-responsibility