Composite
(
Composite
)
Lorsque l'on souhaite représenter une arborescence
ou masquer les différences entre des objets composites
et simples de natures similaires, le patron composite
propose la définition d'une interface unifiée d'objets
simples et composites.
Structure et
constituants
|
- Component définit l'interface abstraite d'un
composant simple ou composite,
- Leaf définit le comportement d'un composant
feuille, c'est-à-dire qui ne peut pas avoir de
fils,
- Composite définit le comportement d'un composite
en stockant ses fils et en répercutant le traitement
des méthodes à ses fils de manière appropriée,
- ComponentClient manipule des composants.
Les clients manipulent un composant au travers de
son interface générale. Une feuille exécute directement
les opérations demandées alors qu'un composite
transfère les requêtes à ses fils en opérant des
actions supplémentaires avant ou après ce
transfert.
structuration arborescente d'objets : un
composite qui réunit des sous-composants peut être à
son tour intégré dans un composite,
encapsulation de l'hétérogénéité d'objets
simples et composites : un objet composite peut être
utilisé à la place d'un objet simple et
inversement,
intégration facilitée de nouvelles classes
d'objets composites ou simples qui pourront être
combinés de manière stable,
nécessité de contrôler dynamiquement des
contraintes particulières dans la composition d'objets
au sein d'un composite,>
la maximisation de l'interface générale
d'un composant (nécessaire pour l'encapsulation) peut
amener à déclarer des méthodes qui n'ont pas de sens
pour des objets simples.
Utilisation dans
CBR*Tools
|
Ce patron est utilisé pour représenter de manière
structurée les indices, les similarités, les bases de
cas et les index.
Comments
Last modified: Mon Sep 17 17:03:47 MEST 2001
|