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

    简单工厂模式:

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

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

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

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

    工厂方法模式:

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

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

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

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

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

    抽象工厂模式:

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

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

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

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

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

  • 相关阅读:
    ubuntu下编译安装uWebSockets
    centos7安装python3
    linux设置库文件加载包含路径
    centos7安装mysql和mysql-connector-c++
    SVN查看提交日志的命令
    [转]select模型的一种技巧运用-libevent
    一道题回顾计算机数值存储方式-原码,反码,补码
    msyql判断记录是否存在的三种方法
    windows下vs2013使用C++访问redis
    linux下查看端口的连接数
  • 原文地址:https://www.cnblogs.com/houxi/p/3633638.html
Copyright © 2011-2022 走看看