GoF

作者: ch_xiaoshu | 来源:发表于2017-04-09 19:56 被阅读0次

Builder(生成器)适用性

在一下情况下使用Builder模式

  • 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
  • 当构造过程必须允许被构造的对象有不同的表示时。

结构

Builder 生成器结构.png

简单举个例子

首先看下图


  • Builder (TextConverter)
    -- 为创建一个Product对象的各个部件指定抽象接口
  • ConcreteBuilder (ASCIIConverter、TeXConverter、TextWidgetConverter)
    --实现Builder的接口一构造和装配该产品的各个部件。
    --定义并明确它所创建的表示。
    --提供一个检索产品的接口
  • Director (RTFReader)
    --构造一个使用Builder接口的对象。
  • Product (ASCIITect、TeXText、TextWidget)
    --表示被构造的负载对象。
    --包含定义组成部件的类,包括将这些部件装配成最终产品的接口。
  • 协作图

Bridge (桥接)--对象结构

适用性

1. 你不希望在抽象和它的实现部分之间有一个固定的绑定关系。
2. 类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。
3. 对一个抽象的实现部分的修改应对应客户不产生影响,即客户的代码不必重新编译
4. 你想对客户完全隐藏抽象的实现部分。
5.  你想在多个对象间共享实现(可能使用引用计数),但同时要求客户并不知道这一点。  

结构

Brideg 结构.png

相关文章

  • GoF

    Builder(生成器)适用性 在一下情况下使用Builder模式 当创建复杂对象的算法应该独立于该对象的组成部分...

  • GOF的23种设计模式

    一、GOF简介 GOF是设计模式的经典名著Design Patterns: Elements of Reusabl...

  • 23种设计模式

    23种设计模式 GoF:(Gang of Four,GOF设计模式)---四人组 Design Pattern...

  • GOF的23种设计模式

    设计模式(Design Patterns) GOF的23种设计模式 GoF(“四人帮”,指Gamma, Helm,...

  • 19暑期学习-Day7

    休息~预习GoF设计模式

  • Builder pattern

    Builder pattern 这里所介绍的建造者模式不是GOF中介绍的建造者模式。GOF中的建造者模式主要用于抽...

  • 设计模式只是一把锤子,不要拿着到处去敲

    谈起《设计模式》,那是几乎无人不知,无人不晓,大名鼎鼎的GoF的惊世之作,真是“平生不识GoF,学尽设计也枉然”!...

  • C++设计模式 week1 (Boolan)

    课程目标 理解松耦合设计思想 掌握面向对象设计原则 掌握重构技法改善设计 掌握GOF核心设计模式 推荐书目 GOF...

  • 工厂模式

    工厂模式 问题: 工厂模式分为几类? GOF 23种设计模式中,工厂方法模式和抽象工厂模式有什么区别? 不在GOF...

  • GeekBand C++ 李建忠老师 设计模式

    第一讲 课程目标 理解松耦合设计思想 掌握面向对象设计原则 掌握重构技法改善设计 掌握GOF核心设计模式 GOF设...

网友评论

      本文标题:GoF

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