GoF book では、ビルダー パターンの製品クラスは必ずしも基本クラスから継承する必要はないと述べています。具象ビルダー クラスは、同じ抽象的な構築手順を共有するまったく異なる製品を生成する場合があります。
ビルダー パターンを使用するクライアントは、具体的なビルダー クラスをインスタンス化し、オブジェクトを Director オブジェクトに関連付ける必要があります。ディレクターはビルダーを使用してオブジェクトを構築し、最終的に完全なオブジェクトを返します。
私の質問は、製品クラスが同じ基本クラスを共有しない場合、ディレクターはどのように設計されるのでしょうか? C# では、これはジェネリックを使用して簡単に実装できますが、デザイン パターンは言語機能に依存しません。具体的な製品のタイプごとに個別のメソッドを定義することは、ディレクターを製品クラスと密接に結合し、新しい製品クラスにはディレクター クラスの変更が必要になるため、良い考えとは思えません。
考えを教えてください。