System.TAggregatedObject

提供: RAD Studio API Documentation
移動先: 案内検索

System.TObjectTAggregatedObject

Delphi

TAggregatedObject = class(TObject)

C++

class PASCALIMPLEMENTATION TAggregatedObject : public TObject

プロパティ

種類 可視性 ソース ユニット
class public
System.pas
systobj.h
System System

説明

TAggregatedObject を使用すると、集約の中に含まれるオブジェクトが、IInterface のメソッド群を実装して、制御する側の IInterface に処理を委譲できるようになります。

集約オブジェクトとは、インターフェイスで接続された複数のオブジェクトから構成されるオブジェクトのことです。個々のオブジェクトは独自の振る舞いとインターフェイスを実装しますが、そのオブジェクトすべてが同じ参照カウント(コントローラ オブジェクトの参照カウント)を共有します。コンテナ パターンでは、コントローラがコンテナ オブジェクトになります。

TAggregatedObject 自体はどのようなインターフェイスもサポートしません。しかし、集約によく見られるように、TAggregatedObjectIInterface のメソッド群を実装していて、下位クラスではその実装を使用します。つまり、TAggregatedObject は、集約の部分であるオブジェクトを作成するためのインターフェイスを実装するクラスの基底クラスとなります。

TAggregatedObject は、含まれるオブジェクトや接続オブジェクトを作成するクラスの基底クラスとして使われます。TAggregatedObject を使用すると、IInterface のメソッド群に対する呼び出しが、集約を制御する側の IInterface に委譲されることを保証できます。

制御する側の IInterface は、TAggregatedObject のコンストラクタで指定され、Controller プロパティで示されます。

関連項目