zoukankan      html  css  js  c++  java
  • 浅谈简单工厂模式--工厂方法模式--抽象工厂模式的不同

    简单工厂模式:

    定义一个简单工厂类,然后把创建对象的功能让它去实现。

    优点:客户端只负责对对象的调用,从而明确了各个类的职责。

    缺点:1.由于简单工厂模式是用静态方法来创建对象,静态方法无法被继承。

       2.具体对象的增加,会导致需要不断修改工厂类,增加相应的逻辑判断,不利于后期维护。

    工厂方法模式:

    该模式解决了简单工厂模式的第二条缺点

    定义一个工厂接口,然后实现不同的具体工厂类去创建不同的具体对象。

    优点:客户端只负责对对象的调用,从而明确了各个类的职责。

         如果有新的对象加入进来,只需要添加一个具体的对象工厂类和具体的对象类,不会影响原有代码,有利于后期维护。

    缺点:额外的编写代码,增加了代码量。

    抽象工厂模式:

    工厂方法模式中,是通过定义工厂接口,然后实现不同的具体工厂类去创建不同的具体对象。

    [现实中,可能多个对象之间存在某种关系,比如(螺丝和螺母)比如(计算工资,社保,所得税)]

    所以把一系列相互关联的对象设计到一个工厂类里后,客户端的调用将会变得非常简单。

    优点:客户端只负责对对象的调用,从而明确了各个类的职责。

    缺点:如果有新的对象加进来,则需要修改抽象工厂类的设计,并同时修改实现这个抽象工厂类的具体公厂类,需要额外的代码量,增加了工作量。

  • 相关阅读:
    对称加密算法:替代算法与置换算法
    cin与getline
    延迟任务实现方式
    @Validated校验
    mac 终端 常用命令
    IOS和Android的区别[转]
    [IOS] NSIndexPath , NSIndexSet , NSRange 之间的区别比较
    [IOS]iphone开发之UIImage应用与内存管理,UIImage加载图像方法
    CorePlot SDK的安装以及应用
    [IOS] iphone 之 横屏和自动旋转
  • 原文地址:https://www.cnblogs.com/houxi/p/3633638.html
Copyright © 2011-2022 走看看