我有一个抽象的类,可以称之为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();
    }
}


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

最佳答案

您正在寻找Factory pattern
您几乎做到了,只需创建工厂类并将buildClassAbstract方法移至该类即可。

10-05 22:43