====== 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**
https://refactoring.guru/design-patterns/strategy
**Patron Flyweight**
https://refactoring.guru/design-patterns/flyweight
**Patron Builder**
https://refactoring.guru/design-patterns/builder
**Patron Proxy**
https://refactoring.guru/design-patterns/proxy
**Patron Facade**
https://refactoring.guru/design-patterns/facade
**Patron Chaîne de responsabilité**
https://refactoring.guru/design-patterns/chain-of-responsibility