Java创建模式

时间:2015-11-26 13:18:04

标签: java design-patterns

我有7个类扩展了一个父抽象类。 我还有7个课程与第一堂课相匹配。

我想根据类第一个对象创建第二个类的一个对象。

我应该使用哪种模式?

我考虑工厂,但有时我需要添加新的类,并且有很多工厂。因此,当我想添加新类时,我必须将其添加到所有工厂。

类层次结构: Class hierarchy

所以我有对象Super(是抽象的)并且想要创建类相关依赖于真实的对象类(Child_1 ...)

我还想过在Child类中创建相关的类并使用多态,但我认为它打破了单一责任原则

1 个答案:

答案 0 :(得分:0)

我认为,根据编辑过的问题,我的建议是在需要时使用Factory方法(因为您热衷于使用工厂)进行本地初始化。

因此,您可以拥有一个利用Class<?>.newInstance创建子类新实例的超级工厂类。然后你可以调用一个内部函数说&#34; internalInitialise&#34;并在子类中重写它以处理它们自己的非泛型要求,每次按https://stackoverflow.com/a/6067489/697159调用基本版本(示例最后调用它)