我有一个抽象的类,可以称之为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
方法移至该类即可。