public class AFactory{
private static instance = new AFactory();
private AFactory(){}
public static AFactory getInstance(){
return instance;
}
public A getA(String typeInfo){
if(typeInfo.equals("XX"))
return new Son1OfA();
else
return new Son2OfA();
}
}
使用方法:FactoryA factory = FactoryA.getInstance();
A a = factory.getA("type");
该程序包含了单态模式和工厂模式,个人理解:
工厂模式的实质就是说不用管构造函数如何操作,可以根据输入产生一个实例,而用户并不知道怎么样产生的该实例。
适用性:
当一个类不知道它要创建的对象的类时。
当一个类希望由它的子类来决定创建哪个类的对象时
当一个类决定将创建对象委托给多个子类,并且希望将那个子类是代理这一信息局部化的时候。