集約
オブジェクトを実装するとき、構築済みの別のオブジェクトで提供されているサービスを利用する場合があります。 さらに、この構築済みオブジェクトを実装するオブジェクトの一部であるように表示することもあります。 COM では、これらの両方の目標をコンテインメントと集約によって実現します。
集約とは、含む側 (外部) のオブジェクトを作成するときに含まれる側 (内部) のオブジェクトを作成し、内部オブジェクトのインターフェイスを外部オブジェクトによって公開することです。 オブジェクトが集約できるかどうかは、オブジェクト自身が決定します。 集約できる場合は、オブジェクトを正しく動作させるために特定の集約規則に従う必要があります。
本来、含まれる側のオブジェクトに対する IUnknown メソッド呼び出しは、含む側のオブジェクトが代行する必要があります。