建造型设计模式

  • 简介

    • 内容

      • 介绍用于创造对象的设计模式.用于处理类膨胀和多肽.

    • 说明

      • 类的创建有需要多需要注意的.
      • 创建哪个,可以创建多少个,如何创建.
    • 创建哪个

      • 工厂模式,当函数的if else膨胀得特别大,就需要用抽象工厂,进行拆分.

    • 创建多少个

      • 单例创建一个对象,建造者则用定长数组存放某个集合.

    • 如何创建

      • 一般建议用构造,但是拷贝构造在某些场景下效率更高.

  • 工厂

    • 说明

      • 主要用于应对多肽,以及根据key来确定类型.
    • 好处

      • 采用key:value映射的关系创建对应的类.
      • 主要的职责就是创建正确的对象.
      • 改动较小.
    • 劣势

      • 当类变多的时候可能会导致工厂变得特别大.
    • 抽象工厂

      • if else分支特别多的时候,需要用抽象类进行拆分.

      • 一类工厂负责一类的创建,就有两层的抽象工厂了.

    • 组合差异

      • 工厂一般是根据key获取.
      • 组合则是key的变化与所在类本身无较大关联.可以各自独立变换.
      • 组合可以借助适配器,代理的方式完成工作.
  • 单例

    • 说明

      • 主要用于构建类似集中管理类.
    • 适用场景

      • 只允许创建一个对象的场景.
    • 安全性

      • 需要保证并发访问安全,及多线程初始化的情况.
  • 建造者

    • 说明

      • 主要用于构建基本组件变化,但是组合会发生变化的:套餐.
    • 核心

      • 将变化的抽象出来独自变化.
    • 组合存储

      • 组合根据不同的场景采用不同的数据结构。
      • 链表,数组,集合,map.
  • 拷贝

    • 说明

      • 对象之间赋值就存在类拷贝。
      • 拷贝就有深拷贝和浅拷贝的区别。
    • 浅拷贝。

      • memcpy就可完成.
    • 深拷贝

      • 需要递归才能完成,主要是拷贝所有关联的,主要是new出来的,即指针指向的内容也要拷贝.
  • 总结

    • 创造这里就是. 创建:哪个,多少,怎么建.

    • 哪个:工厂,多少:单例和组合,怎么建:深浅拷贝.

  • 發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章