集約は、その内部でオブジェクトをアセンブルまたは構成して、 より複雑なオブジェクトを作成する、特別な関連タイプです。 集約は、オブジェクトのグループと、それらと対話する方法を記述します。 集約は、アセンブリーを表すオブジェクト内で、 集合と呼ばれるコントロールの単一ポイントを定義することによって、 オブジェクトのアセンブリーの整合性を保護します。 また、集約はコントロール・オブジェクトを使用して、 コレクションに影響を及ぼす可能性がある変更または命令に対して、 アセンブル済みのオブジェクトがどのように応答するのかを決定します。
データは、分類子全体または集合から、パーツに向かって流れていきます。 パーツ分類子は、複数の集合分類子に所属させることもできますし、 集合から独立して存在させることもできます。 例えば、Department クラスは Company クラスとの集約関係を持つことができます。 これは、Department が Company の一部であることを示します。 集約は、コンポジションと密接に関係しています。
2 つの分類子間の関係の性質を記述するために、 関連に名前を付けることができます。 ただし、関連の端の名前を使用する場合は、名前は必要ありません。
以下の図にあるように、 集約関連は、関連の端が空白の菱形になっている実線で表されます。 これは、集合を表す分類子に接続されています。 集約関係は、単一方向である必要はありません。
