Différence entre l'agrégation et la composition dans UML
Différence clé entre l'agrégation et la composition
- L'agrégation est un type d'association entre deux objets décrivant la relation « avoir un », tandis que la composition est un type spécifique d'agrégation qui implique la propriété.
- L'agrégation est indiquée par une ligne droite avec une pointe de flèche vide à une extrémité. En revanche, la composition est indiquée à l'aide d'une ligne droite munie d'une pointe de flèche remplie à l'une des extrémités.
- Dans une relation d'agrégation, les objets associés les uns aux autres peuvent rester dans la portée d'un système sans les autres. Mais dans une relation de composition, les objets associés les uns aux autres ne peuvent pas rester dans le périmètre les uns sans les autres.
- En agrégation, les objets liés ne dépendent pas de l'autre objet, alors qu'en composition, les objets dépendent fortement les uns des autres.
- Dans l'Agrégation, la suppression d'un seul élément n'affecte pas un autre élément associé. Au contraire, en composition, la suppression d’un seul élément affecte un autre élément associé.
- L'agrégation est indiquée par un losange rempli, tandis qu'un losange vide indique la composition.

Qu'est-ce que l'agrégation ?
L'agrégation est un cas particulier d'association lorsqu'un objet « possède » un autre objet, avec lequel vous pouvez avoir une agrégation entre eux. La direction entre eux vous aide à spécifier quel objet contient l'autre objet. L'agrégation est également connue sous le nom de relation « Has-a ». C'est un sous-type de relation d'association dans UML.
Qu'est-ce que Composer ?
La composition est un cas particulier d'agrégation qui vous aide à spécifier une relation de partie entière entre la classe de composition et une classe (partielle) subordonnée.
Différence entre l'agrégation et la composition dans UML
Voici la principale différence entre l'agrégation et la composition :
Agrégation | Composition |
---|---|
L'agrégation est un type d'association entre deux objets qui décrit également la relation « avoir un ». | La composition est un type spécifique d'agrégation qui implique la propriété. |
L'agrégation est indiquée par une ligne droite avec une pointe de flèche vide à une extrémité. | La composition est indiquée par une ligne droite avec une pointe de flèche remplie à l'une des extrémités. |
L'agrégation fait partie d'une relation d'association. | La composition s'inscrit dans une relation d'association. |
L'agrégation est considérée comme un type d'association faible. | La composition est considérée comme un type d’association fort. |
Dans une relation d'agrégation, les objets associés les uns aux autres peuvent rester dans la portée d'un système sans les autres. | Dans une relation de composition, les objets associés les uns aux autres ne peuvent pas rester dans la portée les uns sans les autres. |
Dans l'agrégation, les objets liés ne dépendent pas de l'autre objet. | Dans leur composition, les objets dépendent fortement les uns des autres. |
Dans l'Agrégation, la suppression d'un seul élément n'affecte pas un autre élément associé. | En composition, la suppression d’un seul élément affecte un autre élément associé. |
Exemple : Une voiture a besoin d’une roue, mais elle n’a pas toujours besoin de la même roue. Une voiture peut également fonctionner correctement avec une autre roue. | Exemple : Un fichier est placé dans le dossier. Si l'on supprime le dossier, le fichier associé à ce dossier donné est également supprimé. |
En Agrégation, parent relation avec l'entité enfant. |
En composition, l'entité mère possède l'entité enfant. |
Il est désigné par un diamant rempli | Il est désigné par un diamant vide |
L'enfant n'a pas de vie. | L'enfant peut avoir toute sa vie. |
Elle est représentée par un losange creux à côté de la classe d'assemblage. | Elle est représentée par un losange solide à côté de la classe d'assemblage. |
La suppression d'un assemblage n'affecte jamais ses pièces. | Dans le cas de possession d'une classe, l'objet est supprimé. Cela affecte également l'objet de classe conteneur. |
Agrégation vs composition : statistiques clés
Agrégation | Composition | |
---|---|---|
Propriétaire | Aucun propriétaire | Propriétaire unique |
À vie | Avoir leur vie. | Durée de vie du propriétaire. |
Objet enfant | Les objets enfants sont tous indépendants. | Les objets enfants appartiennent à un seul parent. |
Exemple de composition
Le dossier peut contenir plusieurs fichiers, tandis que chaque fichier a exactement un parent de dossier. Si un dossier est supprimé, tous les fichiers qu'il contient sont également supprimés. Dans une agrégation composite, un objet ne peut faire partie que d'un seul composite à la fois.
Exemple d'agrégation
Par exemple, votre voiture se compose de roues, d’un moteur, d’une boîte de vitesses, d’une direction et de la carrosserie principale, etc. C’est un assemblage et les autres pièces sont ses constituants.
Ici, la voiture au volant est une agrégation, la voiture au moteur est une autre agrégation, la voiture à la boîte de vitesses en est une autre, et ainsi de suite.
Ce type d'appariement permet de définir la multiplicité de la pièce constitutive au sein de l'assemblage comme résultat. Le nombre d'objets peut également être représenté.
Une voiture a besoin d’une roue pour fonctionner correctement. Cependant, on ne peut pas en dire autant d’une voiture. La même logique peut être appliquée au vélo, au vélo ou à tout autre véhicule mais pas à une voiture en particulier.
Ici, l’objet roue a un sens même sans l’objet voiture. C’est ce qu’on appelle une relation d’agrégation.