用于实例化抽象类的模式?

时间:2014-12-12 13:49:56

标签: java design-patterns abstract

我有一个abtract类,我们称之为ClassAbstract。

我还有一些具体的类Class#NonAsbtract扩展了ClassAbstract。

考虑以下代码:

public void someMethod(some arguments) {
    // my solution : ClassAbstract ca = buildClassAbstract(enumArgument);
    ClassAbstract ca = new Class#NonAsbtract();
}

现在我在someMethod的同一个类中使用此方法:

private ClassAbstract buildClassAbstract(SomeEnum enum) {
    switch(enum) {
         case ARG_ONE:
              return new Class1NonAbstract();
    }
}

你认为去任何模式都值得吗

1 个答案:

答案 0 :(得分:2)

您正在寻找Factory pattern。 你几乎做到了,只需创建工厂类并将buildClassAbstract方法移动到它。