美文网首页设计模式
设计模式之简单工厂模式(创建型)

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

作者: smileNicky | 来源:发表于2019-01-01 16:09 被阅读1次

    模式定义

    简单工厂模式又称静态工厂模式。可以根据参数的不同返回不同类的实例。定义一个类来创建其它类的实例。

    模式角色

    简单工厂模式包含如下角色
    Factory:工厂角色
    Product:抽象产品角色
    ConcreteProduct:具体产品角色

    这里写图片描述

    简单实例

    public abstract class Produce{
        public abstract void m1()''
    }
    
    public class ConcreteProduct extends Produce{
        public void m1(){}
    }
    
    public class Factory{
        
        public static Produce methodA(){
            return new ConcreteProduct();//创建具体产品
            
        };
    }
    

    场景应用

    简单工厂模式在jdk有不少应用,比如
    java.text.DateFormat

    public final static DateFormat getDateInstance();
    public final static DateFormat getDateInstance(int style);
    public final static DateFormat getDateInstance(int style,Locale
    locale);
    

    简单工厂模式适用场景:
    工厂类负责创建的对象比较少;客户端只知道传入工厂类的参数,对象创建过程不会影响客户端代码

    优缺点

    优点:简单工厂模式将对象创建和本身业务处理分开,降低了耦合

    缺点:工厂类集中了所有产品创建逻辑,一旦新增产品就得修改工厂类

    三种工厂方法对比:https://blog.csdn.net/u014427391/article/details/80067882

    相关文章

      网友评论

        本文标题:设计模式之简单工厂模式(创建型)

        本文链接:https://www.haomeiwen.com/subject/soinlqtx.html