美文网首页
3. 建造者模式

3. 建造者模式

作者: 再凌 | 来源:发表于2021-02-28 13:16 被阅读0次

所有角色:

  1. Product: 要制造的产品
  2. iWorker: 抽象建造者, 纯虚函数描述了所有要实现的方法
  3. Worker1, Worker2: 继承自iWorker, 实现了所有的虚函数
  4. Director: 指挥者, 选取特定的Worker. 传入一个IWorker类型的指针来指定特定Worker.

和用户屏蔽实现细节, 用户只是接触了Director.
用户持有一个IWorker的指针

IWorker指针可以指向任意一个new出来的Worker, 这个Worker传入到Director中, 就可以得到一个特定的Product.


优点: 客户端只需要指定特定的Worker并告诉Director就能得到结果, 其他的什么都不关心, 不同的Worker并无关联, 直接替换.

缺点: 要求不同Worker生产的Product必须有很多共同点, 因为要用IWorker定义抽象的方法. 如果Product内部变化复杂, 就会不得不定义很多的建造者(比如Product有10个维度都是正交变换的, 就会有n^10个Worker), 会导致系统变的很庞大.

相关文章

  • 3. 建造者模式

    设计模式并非是难以理解, 或是难以应用到实践中的, 相反的, 设计模式恰恰代表了某些场景下的最佳实践! 这些设计模...

  • 3. 建造者模式

    所有角色: Product: 要制造的产品 iWorker: 抽象建造者, 纯虚函数描述了所有要实现的方法 Wor...

  • Builder Pattern in Java

    建造者模式:建造者模式定义建造者模式应用场景实现案例Jdk中的建造者模式建造者模式的优点建造者模式的缺点 建造者模...

  • 设计模式(4) 建造者模式

    什么是建造者模式 经典建造者模式的优缺点 对建造者模式的扩展 什么是建造者模式 建造者模式将一个复杂的对象的构建与...

  • 建造者模式(部件构造)

    目录 建造者模式的理念 从 POJO 到建造者模式的思考 怎么来实现建造者模式 建造者模式在Android源码中的...

  • 【设计模式】之建造者Builder模式

    建造者模式 什么是建造者模式? 建造者模式属于创建型模式的一员,可以控制对象的实例化过程。建造者模式简化了复杂对象...

  • PHP常用设计模式

    # 创建型 单例模式 工厂模式 工厂抽象模式 原型模式 建造者模式 # 结构型 # 行为型 # 3.注册模式 # ...

  • 建造者模式

    一、建造者模式介绍 二、建造者模式代码实例

  • 建造者模式

    建造者模式 首先,建造者模式的封装性很好。使用建造者模式可以有效的封装变化,在使用建造者模式的场景中,一般产品类和...

  • 如何让孩子爱上设计模式 —— 3.建造者模式(Builder P

    如何让孩子爱上设计模式 —— 3.建造者模式(Builder Pattern) 标签: 设计模式初涉 应用场景 将...

网友评论

      本文标题:3. 建造者模式

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