Next: Mode d'emploi
Up: Les catalogues de conception
Previous: Les interfaces Homme-machine
Sous-sections
- Le nom de modèle
- décrit en un ou deux mots un problème de conception.
- Le problème
- décrit les situations où le modèle s'applique.
- La solution
- décrit les éléments qui constituent la conception,
les relations entre eux, leurs parts dans la solution, leur coopération.
- Les conséquences
- sont les effets résultants de la mise en
uvre du modèle et les variantes de compromis que celle-ci entraîne.
|
Rôle |
|
Créateur |
Structurel |
Comportement |
Domaine |
Classe |
Fabrication |
Adapdateur |
Interprète |
|
|
|
|
Patron de méthode |
|
Objet |
Fabrique abstraite |
Adapdateur |
Chaine de
responsabilité |
|
|
Monteur |
Pont |
Commande |
|
|
Prototype |
Composite |
Itérateur |
|
|
Singleton |
Décorateur |
Médiateur |
|
|
|
Façade |
Memento |
|
|
|
Poids mouche |
Observateur |
|
|
|
Procuration |
Etat |
|
|
|
|
Stratégie |
|
|
|
|
Visiteur |
- Noms de modèle et classification
- ...
- Intention
- ...
- Alias
- ...
- Motivation
- ...
- Indications d'utilisation
- ...
- Structure
- ...
- Constituants
- ...
- Collaborations
- ...
- Conséquences
- ...
- Implémentation
- ...
- Exemples de code
- ...
- Utilisations remarquables
- ...
- Modèles apparentés
- ...
Ils permettent de rendre un système indépendant de la façon dont ses
objets ont été créés, combinés et concrétisés.
Ils encapsulent la connaissance des classes concrètes que le système
utilise, de sorte que tout ce que le système connaît de ces objets,
est leurs interfaces, telles que définies par des classes abstraites.
Cette documentation
(la hiérarchie des classes) est celle d'une première implémentation pour la
création d'un labyrinthe.
- Intention
- La fabrique abstraite fournit une interface, pour créer des
familles d'objets apparanetés ou dépendants, sans avoir à spécifier
leurs classes concrètes.
- Exemples de code
-
la hiérarchie des classes.
- Intention
- Le monteur dissocie, dans un objet complexe, sa
construction de sa représentation, de sorte que, le même procédé de
construction puisse engendrer des représentations différentes.
- Exemples de code
-
la hiérarchie des classes.
- Intention
- La fabrication définit une interface pour la création
d'un objet, tout en laissant à des sous-classes le choix de la classe
à instancier. Une fabrication permet de déférer à des sous-classes les
instanciations d'une classe.
- Exemples de code
-
la hiérarchie des classes.
- Intention
- Le prototype spécifie les espèces d'objets à créer,
en utilisant une instance de type prototype, et crée de nouveaux
objets par copies de ce prototype.
- Exemples de code
-
la hiérarchie des classes.
- Intention
- Le singleton garantit qu'une classe n'a qu'une seule
instance, et fournit à celle-ci, un point d'accès de type global.
- Exemples de code
-
la documentation.
- Intention
- L'état permet à un objet de modifier son
comportement, quand son état interne change. Tout se passera comme si
l'objet changeait de classe.
- Exemples de code
-
La version sans le modèle état.
Une première version avec le modèle état.
Une deuxième version avec le modèle état.
- Fabrique Abstraite
- fournit une interface, pour créer des
familles d'objets apparentés ou dépendants, sans avoir à spécifier
leurs classes concrètes.
- Adapdateur
- convertit l'interface d'une classe en une autre
conforme à l'attente du client. L'adapdateur permet à des classes de
collaborer, qui n'auraient pu le faire du fait d'interfaces incompatibles.
- Pont
- découple une abstraction de son implémentation afin que
les deux éléments puissent être modifiés indépendammenet l'un de l'autre.
- Monteur
- dissocie, dans un objet complexe, sa construction de sa
représentation, de sorte que, le même procédé de construction puisse
engendrer des représentations différentes.
- Chaîne de responsabilité
- d'une part évite le couplage de
l'émetteur d'une
requête à ses récepteurs, en donnant à plus d'un objet la possibilité
d'entreprendre la requête; d'autre part chaîne les objets récepteurs
et fait passer la requête tout au long de la chaîne, jusqu'à ce qu'un
objet la traite.
- Commande
- encapsule une requête comme un objet, autorisant ainsi
le paramétrage des clients par différentes requêtes, files d'attente
et récapitulatifs de requêtes, et de plus, permettant la réversion des
opérations.
- Composite
- compose des objets en des structures arborescentes
pour représenter des hiérarchies composant/composé. Il permet au
client de traiter de la même et unique façon les objets individuels et
les combinaisons de ceux-ci.
- Décorateur
- 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
- 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.
- Fabrication
- définit une interface pour la création d'un objet,
tout en laissant à des sous-classes le choix de la classe à
instancier. Une fabrication permet de déférer à des sous-classes les
instanciations d'une classe.
- Poids Mouche
- utilise une technique de partage qui permet la
mise en
uvre efficace d'un grand nombre d'objets de fine granularité.
- Interprèteur
- définit, pour un langage donné, une représentation
de sa grammaire, en même temps qu'un interpréteur utilisant cette
représentation pour interpréter les phrases du langage.
- Itérateur
- 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.
- Médiateur
- définit un objet qui encapsule les modalités
d'intéraction d'un certain ensemble d'objets. Le médiateur favorise le
couplage faible en dispensant les objets de se faire explicitement
référence, et il permet donc de faire varier indépendamment les
relations d'interaction.
- Memento
- saisi et transmet à l'extérieur d'un objet, sans
violation de l'encapsulation, l'état interne de celui-ci, dans le but
de pouvoir ultérieurement le restaurer dans cet état.
- Observateur
- défintit une interdépendance de type un à
plusieurs, de façon telle que, quand un objet change d'état, tous ceux
qui en dépendant en soient notifiés at automatiquement mis à jour.
- Prototype
- spécifie les espèces d'objets à créer, en utilisant
une instance de type prototype, et crée de nouveaux objets par copies
de ce prototype.
- Procuration
- fournit à un tiers objet un mandataire ou un
remplaçant, pour contrôler l'accès à cet objet.
- Singleton
- garantit qu'une classe n'a qu'une seule instance, et
fournit à celle-ci, un point d'accès de type global.
- Etat
- permet à un objet de modifier son comportement, quand son
état interne change. Tout se passera comme si l'objet changeait de classe.
- Stratégie
- définit une famille d'algorithmes, encapsule chacun
d'entre eux, et les rend interchangeables. Le modèle stratégie permet
aux algorithmes d'évoluer indépendamment des clients qui les utilisent.
- Patron de méthode
- définit, dans une opération, le squelette
d'un algorithme, en en déléguant certaines étapes à des
sous-classes. Le patron de méthode permet de redéfinir par des
sous-classes, certaines parties d'un algorithme, sans avoir à modifier
la structure de ce dernier.
- Visiteur
- fait la représentation d'une opération applicable aux
éléments d'une structure d'objet. Il permet de définir une nouvelle
opération, sans qu'il soit nécessaire de modifier la classe des
éléments sur lesquels elle agit.
Next: Mode d'emploi
Up: Les catalogues de conception
Previous: Les interfaces Homme-machine
Alain GRIFFAULT
2000-01-05