一年以来我一直在使用工厂模式。有时我只觉得真正的优势就是干净的代码。让我解释,
interface A {
public void test();
}
class B implements A {
public void test() {
}
}
class C implements A {
public void test() {
}
}
class Factory {
public static A getObject(String name){
if(name.equalsIgnoreCase("B")){
return new B();
}else if(name.equalsIgnoreCase("C")){
return new C();
}
return new B();
}
}
public class Test {
public static void main(String[] args) {
A a = Factory.getObject(args[0]);
// if i dint use factory pattern
A nofactory=null;
if(args[0].equalsIgnoreCase("B")){
nofactory= new B();
}else if(args[0].equalsIgnoreCase("C")){
nofactory= new C();
}
}
}
从上面的代码我觉得工厂模式只是美化了代码,如果我的理解有误,请告诉我。