创建型设计模式之简单工厂模式SimpleFactory

简单工厂模式SimpleFactory(静态工厂模式)


      意图:专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式,由一个工厂类根据传入的参数,动态决定应该创建反射机制来产生具体对象哪一个产品类这些产品类继承自一个父类或接口)的实例;系统只用一个产品类等级(hierarchy)就可以描述所有已有的产品类


     参与者:

          工厂(Creator:被客户端直接调用,根据客户端指定传入的参数,动态创建客户端需要的对象)

          抽象产品(Product是工厂方法模式所创立的对象的父类,或它们共同拥有的接口)

        具体产品(ConcreteProduct)


      关系图

       

创建型设计模式之简单工厂模式SimpleFactory_第1张图片

   实例图:

 创建型设计模式之简单工厂模式SimpleFactory_第2张图片

JDK1.7.0SRC:

创建型设计模式之简单工厂模式SimpleFactory_第3张图片

public final static DateFormat getDateTimeInstance()


优点:客户端免除直接创建产品对象的责任,仅仅负责调用生成后的产品对象。
缺点:一个产品接注定只具有单一的产品特性,不能处理多层次等级结构的产品,当创建新产品时需要在工厂类加入更多逻辑判断,不易于功能扩展。


注意点:

          工厂类创建某个类实例时,其方法为static 方法


你可能感兴趣的:(简单工厂模式)