zoukankan      html  css  js  c++  java
  • [设计模式整理笔记 六] 工厂模式与创建者模式总结

    [导读]

    [设计模式整理笔记 一] 基础知识

    [设计模式整理笔记 二] 简单工厂模式(Simple Factory)

    [设计模式整理笔记 三] 工厂模式(Factory)

    [设计模式整理笔记 四] 抽象工厂模式(Abstract Factory)

    [设计模式整理笔记 五] 创建者模式(Builder)

    [设计模式整理笔记 六] 工厂模式与创建者模式总结

    [设计模式整理笔记 七] 原型模式(ProtoType)

    [设计模式整理笔记 八] 单例模式(Singleton)

    [设计模式整理笔记 九] 外观模式(Facade)

    ....后续, 包括部分例子

    [/导读]

    前面讲到工厂模式与创建者模式, 总结一下, 会发现有这样的规律:

    (提示语: 一个小公司起步,全体员工只有40人)

    简单工厂模式就像一个小小公司,所以生产产品只需要一个车间就可以了, 都是老板口头告诉车间里面的小组长, 直接生产不需再做任何的转达批复,所有产品都在这个车间里面生产, 简单工厂模式里面的工厂类就是这个车间了, 静态类就是老板直接叫生产就生产, 所以这样的方式, 只能适就一个小小的不复杂的系统。大家想一下,如果产品好多,需要不停车间不停的运作还不能处理过来,这样的式方明显不符合生产要求了吧。

    (提示语: 经过一段时间发展,全体员工的努力, 公司扩大生产, 产品也由最初的一个, 到现在的几十个了, 全体员工也达2000人)

    工厂模式就像这个中型公司, 一个产品的生产可能在一栋厂房里面生产, 需要各部门的批复文件才可以生产, 所以静态的方法就不合适了, 所以工厂模式里面的工厂类是针对每一产品建立, 可能有好多个工厂类, 也就是像工厂那样,一个产品在一栋楼里面生产,一个中型公司可能有很多栋厂房那样。每一栋厂房生产一个产品。 工厂模式里面也就这个意思,一个产品建一个工厂类来返回实例。

    (提示语: 经过一段时间发展,全体员工的努力, 公司扩大生产, 产品也由最初的一个, 到现在的几十个了,而且发现好多产品有相似的地方,例如:印刷产品:印教科书,印小说,印杂志,都是要有印的操作,电子产品:二极管,三极管, 等各种一系列的产品线, 全体员工也达5000人)

    抽像工厂模式就像这个大公司, 每个产品进来后都需要按抽象的产品进行统计,然后分配到那一系列产品里面, 程序里面做的是一系列产品的抽象类,例如:某营业员接到一个印信封的单, 跟单就需要知道, 这个信封需要印的操作, 把这个产品分到印刷总门去生产, 所以程序也是一样, 建立一个抽象类来让下面的产品来继承。也需要按一系列的产品建立抽象工厂类。

    (提示语: 经过一段时间发展,全体员工的努力, 公司扩大生产, 子公司也越来越多,需要把子公司组装到总公司里面, 形成一个集团公司)

    创建者模式就合适这种情况了, 需经把很多同级的产品组装起来, 组成一个新的对象。

    如果到这里,能把前面的都熟悉的朋友, 请大家为自己身边的事物用工厂模式与创建者模式来设计一下, 只有多想,多实践才能把设计模式搞懂。

  • 相关阅读:
    c++ STL
    unix network programming(3rd)Vol.1 [第1章]《读书笔记系列》
    [面试题] BloomFilter 无序40亿不重复 uint 整数, 给予任意的数,求是否在这40亿之中 + 无序数组中找2个相同的值
    stm32 DAC输出音频
    Go语言项目的错误和异常管理 via 达达
    值传递
    FireFox、chrome通过插件使用IE内核,IE Tab v2
    linux cross toolsChain 交叉编译 ARM(转)
    rfc all download
    VS2005 工程在win7下使用管理员权限运行
  • 原文地址:https://www.cnblogs.com/whtydn/p/1646257.html
Copyright © 2011-2022 走看看