Une agrégation est un type spécial d'association dans laquelle les objets sont assemblés ou configurés ensemble pour créer un objet plus complexe. Une agrégation décrit un groupe d'objets et comment vous interagissez avec eux. L'agrégation protège l'intégrité d'un assemblage d'objets en définissant un point de contrôle unique, appelé l'agrégat, dans l'objet qui représente l'assemblage. L'agrégation utilise aussi l'objet de contrôle pour décider comment les objets assemblés réagissent aux changements ou instructions qui pourraient affecter la collection.
Les données circulent de l'ensemble du discriminant ou agrégat vers le composant. Un discriminant de composant peut appartenir à plusieurs discriminants d'agrégat et il peut exister indépendamment de l'agrégat. Par exemple, une classe Rayon peut avoir une relation d'agrégation avec une classe Société, ce qui indique que le rayon fait partie de la société. Les agrégations sont étroitement associées aux compositions.
Vous pouvez nommer une association pour décrire la nature de la relation entre deux discriminants. Les noms sont, toutefois, superflus si vous utilisez des noms d'extrémité d'association.
Comme le montre la figure suivante, une association d'agrégation apparaît comme un trait plein avec un diamant non rempli à l'extrémité de l'association, qui est relié au discriminant représentant l'agrégat. Les relations d'agrégation ne doivent pas nécessairement être unidirectionnelles.
