Oop 每个层次结构的工厂方法

Oop 每个层次结构的工厂方法,oop,design-patterns,Oop,Design Patterns,我正在开发一个具有许多不直接相关的继承层次结构的应用程序 我是否必须为客户端代码中的每个层次结构分配一个工厂方法,以便从每个层次结构中选择某个类,以便在用户通过GUI进行选择时进行实例化?如果是具体工厂,您可以查看抽象工厂 抽象工厂提供了创建相关对象族的接口,无需显式指定它们的类 如果对象不相关,我认为您无法避免为每个对象创建一个工厂。看看依赖注入体系结构,这可能是一个有趣的选项看看这个网页,它演示了如何使用具有多继承层次结构的抽象工厂模式: 感谢您的回答,但关键是必需的类不是族,它们不相关,

我正在开发一个具有许多不直接相关的继承层次结构的应用程序


我是否必须为客户端代码中的每个层次结构分配一个工厂方法,以便从每个层次结构中选择某个类,以便在用户通过GUI进行选择时进行实例化?

如果是具体工厂,您可以查看抽象工厂

抽象工厂提供了创建相关对象族的接口,无需显式指定它们的类


如果对象不相关,我认为您无法避免为每个对象创建一个工厂。看看依赖注入体系结构,这可能是一个有趣的选项

看看这个网页,它演示了如何使用具有多继承层次结构的抽象工厂模式:

感谢您的回答,但关键是必需的类不是族,它们不相关,因此抽象工厂在这里无效。当您说“不直接相关的继承层次结构”是什么意思