背景及起源

计算机科学书籍《Design Patterns: Elements of Reusable Object-Oriented Software》首次出版。
这本书的四位作者:Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides,被称为“四人帮”。在科技圈,你会经常看到这个绰号简称为 GoF。尽管 GoF 设计模式这本书出版于 20 多年前,但它仍然是畅销书。

GoF 设计模式类型

Creational Design Patterns 5

Pattern Name Description
Singleton单例 单例模式限制类的初始化,以确保只能创建该类的一个实例。
Factory 工厂模式 The factory pattern takes out the responsibility of instantiating a object from the class to a Factory class.
Abstract Factory 抽象工厂模式 允许我们为工厂类创建工厂
Builder 建造者 一步一步创建对象和最终获取对象实例的方法
Prototype 原型模式 从另一个类似的实例创建一个新的对象实例,然后根据我们的要求进行修改。

Structural Design Patterns 7

Pattern Name Description
Adapter 适配器 在两个不相关的实体之间提供接口,以便它们可以一起工作。
Composite 合成模式 当我们必须实现部分整体层次结构时使用。例如,由圆形、正方形、三角形等其他部分组成的图表。
Proxy 代理 为另一个对象提供代理或占位符以控制对其的访问。
Flyweight 享元 缓存和重用对象实例,与不可变对象一起使用。例如,字符串池。
Facade 门面 在现有接口之上创建包装(wrapper)接口以帮助客户端应用程序。
Bridge 桥接器 桥接设计模式用于将接口与实现分离,并对客户端程序隐藏实现细节。
Decorator 装饰器 装饰器设计模式用于在运行时修改对象的功能。

Behavioral Design Patterns 11

Pattern Name Description
Template Method 模版方法 用于创建模板方法存根,并将实现的一些步骤推迟到子类。
Mediator 中介 用于在系统中的不同对象之间提供集中的通信媒介
Chain of Responsibility 责任链 当处理户端发起的一个请求时,通过一串对象来处理他们,而达到的一种松耦合软件设计的目的
Observer 观察者 当您对对象的状态感兴趣并希望在有任何更改时得到通知时很有用。
Strategy 策略 客户端在运行时根据实际执行来调用,完成该任务所需要的多种算法 时可以使用策略模式
Command 命令 命令模式用于在请求-响应模型中实现解耦。
State 状态 当对象根据其内部状态更改其行为时,使用状态设计模式。
Visitor 访问者模式 当我们必须对一组相似类型的对象执行操作时使用访问者模式
Interpreter 解释器 定义一种语言的语法表示并提供解释器来处理这种语法。
Iterator 迭代器 用于提供遍历一组对象的标准方法。
Memento 备忘录 当我们想要保存对象的状态以便以后恢复时使用备忘录设计模式。

GoF 23种设计模式相关推荐

  1. 追MM“23式”—— GOF 23种设计模式

    追MM"23式" -- GOF 23种设计模式 创建型模式 1.FACTORY 2.BUILDER 3.FACTORY METHOD 4.PROTOTYPE 5.SINGLETON ...

  2. GoF 23种设计模式中英文对照

    https://blog.csdn.net/shuair/article/details/121884066 1.Singleton Pattern(单例模式) Ensure a class has ...

  3. GOF 23种设计模式比喻

    ==创建型模式== 1.   =SIMPLE FACTORY=  打完篮球真累,正好边上有个小摊.  "来杯可乐."  "我要芬达."  "一瓶矿泉水 ...

  4. java 23种设计模式详解

    1. 软件设计模式意义 文章链接:http://c.biancheng.net/design_pattern/     设计模式的本质是对面向对象设计原则运用,是对类的封装.继承和多态以及类的关联关系 ...

  5. 23种设计模式-个人笔记(二)

    目录 五.23 种设计模式 1.单例模式 1.1.单例模式的定义与特点 1.2.单例模式的优点和缺点 1.3.单例模式的应用场景 1.4.单例模式的结构与实现 1.5.八种方式详解 1.6.单例模式在 ...

  6. 23种设计模式(一)

    1. 软件设计模式意义     设计模式的本质是对面向对象设计原则运用,是对类的封装.继承和多态以及类的关联关系和组合关系的充分理解.优点: 可以提高程序员的思维能力.编程能力和设计能力 使程序更加标 ...

  7. 手把手教你23种设计模式

    文章目录 相关知识 简单工厂模式(不属于GoF 23 种设计模式) 工厂方法模式 抽象工厂模式 单例模式 原型模式 建造者模式 代理模式 门面模式(外观模式) 装饰器模式 享元模式 组合模式(整体-部 ...

  8. 实践GoF的23种设计模式:SOLID原则(上)

    本文分享自华为云社区<实践GoF的23种设计模式:SOLID原则(上)>,作者:元闰子. 前言 从1995年GoF提出23种设计模式到现在,25年过去了,设计模式依旧是软件领域的热门话题. ...

  9. c++ 23种设计模式_使用Go实现GoF的23种设计模式(三)

    前言 上一篇文章<使用Go实现GoF的23种设计模式(二)>中,我们介绍了结构型模式(Structural Pattern)中的组合模式.适配器模式和桥接模式.本文将会介绍完剩下的几种结构 ...

  10. (转):GOF设计模式趣解(23种设计模式)

    GOF设计模式趣解(23种设计模式) 创建型模式 1.FACTORY--追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务 ...

最新文章

  1. 工程大小优化之图片资源
  2. 安卓实现记住密码登陆功能
  3. 如何在企业内部实现云信私有化
  4. dods 机器人_胜利之日机器人补丁
  5. 通过实例理解 JDK8 的 CompletableFuture
  6. OSI七层与TCP/IP四层模型
  7. 60-200-050-使用-命令-MySQL explain命令
  8. python读取超大csv
  9. JavaScript之数组学习
  10. 汽车4S店经营状况分析
  11. 修改Windows系统管理员Administrator的名称
  12. 经典网络结构 (五):ResNet (残差网络)
  13. 前端学习从入门到高级全程记录之43 (PHP基础Ⅵ)
  14. ubuntu或者Ubuntu Kylin下安装Visual Studio Code
  15. Charles设置代理之后,为什么电脑和手机都不能上网
  16. 矩阵转置行列式的运算规律
  17. 解决Macbook双系统 找不到麦克风问题
  18. 诺丁汉大学计算机专业怎样,诺丁汉大学计算机科学专业怎么样 雅思成绩要求如何...
  19. windows重装系统
  20. 整车EOL 诊断系统

热门文章

  1. 围棋单机版-纵横十九道,迷煞多少人
  2. 全国地址邮编.sql
  3. 淘宝技术这十年(淘宝技术大学校长解密淘宝十年)
  4. 4款好用流程图软件,都是经验总结出来的
  5. visio输出论文用矢量图
  6. 一个人竟然撸了一个百度网盘客户端
  7. MessageQueue nativePollOnce 一个不一样的 ANR
  8. MQTT代理服务器的选择
  9. depot_tools下载
  10. 4.3 木马隐藏分析