私は1年前からファクトリーパターンを使用しています。ときどき、本当の利点はクリーンなコードだけだと感じることがあります。説明させてください、
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();
}
}
}
上記のコードから、工場のパターンはコードを美しくするだけだと思います。私の理解が間違っている場合はお知らせください。