Ces concepts décrivent les relations entre les objets dans une hiérarchie de classes.
Nous allons les détailler un par un ci-dessous.
Association
L’association représente une relation « utilise-un » ou « possède-un » entre deux classes distinctes, où une classe utilise l’autre. Elle définit une relation entre des objets où un objet peut accéder à un autre.
Par exemple, en C# :
|
|
Agrégation
L’agrégation est une forme spécialisée d’association avec une relation « tout-partie », mais la durée de vie des parties est indépendante de celle du tout. En d’autres termes, la partie peut exister sans le tout.
Par exemple :
|
|
Une Company a des Departments. Cette relation est représentée par la liste List<Department>.
Le cycle de vie entre la Company et un Department est indépendant.
C’est l’élément clé qui distingue l’agrégation de la composition
Les départements sont créés à l’extérieur de la compagnie, ils existent indépendamment. Si la compagnie est détruite, les départements peuvent continuer à exister.
Les objets Department peuvent potentiellement appartenir à plusieurs Company (même si ce n’est pas illustré ci-dessus). Ils ne sont pas « possédés exclusivement » par une seule compagnie.
Composition
La composition est une forme plus forte d’agrégation avec une relation « partie-tout » où la partie ne peut exister sans le tout. Si le tout est détruit, les parties sont également détruites.
Prenons l’exemple suivant :
|
|
Une Car a toujours un Engine.
Cette relation est vitale : une voiture sans moteur n’a pas de sens.
Le moteur est créé à l’intérieur du constructeur de Car. Cela signifie :
- Le moteur naît en même temps que la voiture
- Le moteur mourra avec la voiture (quand l’objet Car sera détruit)
- On ne peut pas créer ce moteur indépendamment de cette voiture
Dans la vraie vie, quand on construit une voiture, le moteur est assemblé pour cette voiture spécifique. Si la voiture est détruite à la casse, son moteur l’est aussi (ou du moins, il perd son sens d’exister en tant que « moteur de cette voiture »). C’est une relation indissociable, exactement ce que modélise la composition.
Suivez-moi !
Merci d’avoir lu cet article. Assurez-vous de me suivre sur X, de vous abonner à ma publication Substack et d’ajouter mon blog à vos favoris pour ne pas manquer les prochains articles.
Photo de picjumbo.com.