Introduction
Les patrons de conception décrivent des solutions prouvées et standards (abstraites) pour
répondre à des problèmes récurrents de conception de logiciels.
Ouvrage : Design Patterns : Elements of Reusable Object-Oriented Software - Gang of Four (GoF)
1995
Remarque : Les patrons de Gang of Four sont destinés à résoudre des problèmes de conception
dans le paradigme orienté objet.
Remarque : L'utilisation d'un patron dans une solution ne fait pas forcément d'elle une solution de
qualité (le patron doit convenir au contexte et doit être correctement adapté).
3. Patrons de comportement :
3.1. Patron Observateur
Ce patron de comportement permet d'observer un objet pour aviser d'autres objets de son
changement et leur permettre ainsi de lancer un traitement adéquat avec le changement constaté.
Ce patron permet de lier les observateurs et le sujet tout en réduisant les dépendances.
Eléments du patrons :
1. Subject :
● Il garde une trace de ses observateurs ;
● Il propose une interface pour ajouter, supprimer et modifier ses observateurs.
2. Observer :
● Définit une interface pour lancer la mise à jour.
3. Concrete Subject:
● Enregistre son état intéressant ;
● Notifie ses observateurs lors du changement d'état.
4. Concrete Observer :
● Il connaît son sujet ;
● Lit l'état du sujet ;
● Implémente l'interface de mise à jour.
Remarques :
Classe Stratégie : utilisée par le contexte pour exécuter un comportement et c'est une interface
commune de tous les comportements (les différentes stratégies).
Classe St1, St2,..Stn : utilisent l'interface commune pour implémenter un comportement particulier.
Classe Contexte : maintient une référence vers un objet Stratégie et la stratégie à lancer sera
choisie au moment de l'exécution.
Définitions :
1. Composant : appelé COTS (component on the shell) ou "composant ramené du marché".
Peut être vu comme morceau de logiciel assez petit pour que l'on puisse le créer et le
maintenir, et assez grand pour que l'on puisse l'installer et assurer son support. Il existe des
composants de natures différentes, mais ils ont tous la propriété : autonome, réutilisable,
composable et configurable.