Factory Method--对象创建型模式

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

  结构

  Factory Method--对象创建型模式_第1张图片

  参与者:
    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的子类

转载于:https://www.cnblogs.com/bitBybit/archive/2011/07/05/factorymethod.html

你可能感兴趣的:(Factory Method--对象创建型模式)