GoF 书中指出,构建器模式中的产品类不一定需要从基类继承。具体的构建器类可能会产生完全不同的产品,它们共享相同的抽象构建步骤。
使用构建器模式的客户端需要实例化具体的构建器类并将对象与 Director 对象相关联。导演将使用构建器来构建对象并最终返回完整的对象。
我的问题是,如果产品类不共享相同的基类,导演将如何设计?在 C# 中,这可以通过使用泛型轻松实现,但设计模式不依赖于语言特性。为每种类型的具体产品定义单独的方法似乎不是一个好主意,因为它会将主管与产品类紧密耦合,并且任何新产品类都需要更改主管类。
请让我知道你的想法。