Factory Method--对象创建型模式
意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类
结构:

参与者:
Product:定义工厂方法所创建的对象的接口
ConcreateProduct:实现Product接口
Creator:声明工厂方法,该方法返回一个Product类型的对象。Createor也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对 象
ConcreteCreator:重定义工厂方法返回一个ConcreteProduct实例
interface Product{
public void Open();
public void execute();
public void close();
}
class ConcreteProduct implements Product{
public void close() {
System.out.println("关闭");
}
public void execute() {
System.out.println("执行");
}
public void Open() {
System.out.println("打开");
}
}
abstract class Creator{
public abstract Product FactoryMethod();
}
class ConcreteCreator extends Creator{
public Product FactoryMethod(){
return new ConcreteProduct();
}
}
适用性:
当一个类不知道它所创建的对象的类的时候
当一个类希望由它的子类来指定它所创建的对象的时候
缺陷:
为了仅仅创建一个特定的ConcreteProduct对象,就不得不创建一个Creator的子类
浙公网安备 33010602011771号