Modèles de conception réutilisables
(Design Patterns)
Les modèles de conception répondent à des problèmes récurents en
programmation objet, sous la forme de micro-architectures. Les
principaux sont décrits dans l'ouvrage de référence :
- E. Gamma, R. Helm, R. Johnson et J. Vlissides, "Design
Patterns. Catalogue de modèles de conception réutilisables",
Vuibert, 1999
On trouvera dans cette page la liste des modèles vus en cours ainsi
que quelques schémas UML
Itérateur
- Intention : fournit un
moyen d'accès séquentiel aux éléments d'un agrégat d'objets,
sans mettre à découvert la représentation interne de celui-ci.
- Implémentation dans l'API Java :
java.util.Iterator
Adaptateur
- Intention : convertit
l’interface d’une classe en une autre conforme à l’attente du
client. L’Adaptateur permet à des classes de collaborer, qui
n’auraient pu le faire du fait d’interfaces
incompatibles.
- Il existe deux formes d'adaptateurs : les adaptateurs d'objets
et les adaptateurs de classes. Les premiers utilisent la
délégation, les seconds l'héritage.
Décorateur
- Intention : attache
dynamiquement des responsabilités supplémentaires à un objet. Les décorateurs fournissent
une alternative souple à la dérivation, pour étendre
les fonctionnalités.
Façade
- Intention : fournit une
interface unifiée, à l'ensemble des interfaces d'un
sous-système. La façade fournit une interface de plus haut
niveau, qui rend le sous-système plus facile à utiliser.
Observateur/Observable
- Intention : définit une
interdépendance de type un à plusieurs, de façon telle que,
quand un objet change d'état, tous ceux qui en dépendent en
soient notifiés et automatiquement mis à jour.
- Implémentation dans l'API Java :
java.util.Observer
et java.util.Observable