GoF 23种设计模式
背景及起源
计算机科学书籍《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种设计模式相关推荐
- 追MM“23式”—— GOF 23种设计模式
追MM"23式" -- GOF 23种设计模式 创建型模式 1.FACTORY 2.BUILDER 3.FACTORY METHOD 4.PROTOTYPE 5.SINGLETON ...
- GoF 23种设计模式中英文对照
https://blog.csdn.net/shuair/article/details/121884066 1.Singleton Pattern(单例模式) Ensure a class has ...
- GOF 23种设计模式比喻
==创建型模式== 1. =SIMPLE FACTORY= 打完篮球真累,正好边上有个小摊. "来杯可乐." "我要芬达." "一瓶矿泉水 ...
- java 23种设计模式详解
1. 软件设计模式意义 文章链接:http://c.biancheng.net/design_pattern/ 设计模式的本质是对面向对象设计原则运用,是对类的封装.继承和多态以及类的关联关系 ...
- 23种设计模式-个人笔记(二)
目录 五.23 种设计模式 1.单例模式 1.1.单例模式的定义与特点 1.2.单例模式的优点和缺点 1.3.单例模式的应用场景 1.4.单例模式的结构与实现 1.5.八种方式详解 1.6.单例模式在 ...
- 23种设计模式(一)
1. 软件设计模式意义 设计模式的本质是对面向对象设计原则运用,是对类的封装.继承和多态以及类的关联关系和组合关系的充分理解.优点: 可以提高程序员的思维能力.编程能力和设计能力 使程序更加标 ...
- 手把手教你23种设计模式
文章目录 相关知识 简单工厂模式(不属于GoF 23 种设计模式) 工厂方法模式 抽象工厂模式 单例模式 原型模式 建造者模式 代理模式 门面模式(外观模式) 装饰器模式 享元模式 组合模式(整体-部 ...
- 实践GoF的23种设计模式:SOLID原则(上)
本文分享自华为云社区<实践GoF的23种设计模式:SOLID原则(上)>,作者:元闰子. 前言 从1995年GoF提出23种设计模式到现在,25年过去了,设计模式依旧是软件领域的热门话题. ...
- c++ 23种设计模式_使用Go实现GoF的23种设计模式(三)
前言 上一篇文章<使用Go实现GoF的23种设计模式(二)>中,我们介绍了结构型模式(Structural Pattern)中的组合模式.适配器模式和桥接模式.本文将会介绍完剩下的几种结构 ...
- (转):GOF设计模式趣解(23种设计模式)
GOF设计模式趣解(23种设计模式) 创建型模式 1.FACTORY--追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务 ...
最新文章
- 工程大小优化之图片资源
- 安卓实现记住密码登陆功能
- 如何在企业内部实现云信私有化
- dods 机器人_胜利之日机器人补丁
- 通过实例理解 JDK8 的 CompletableFuture
- OSI七层与TCP/IP四层模型
- 60-200-050-使用-命令-MySQL explain命令
- python读取超大csv
- JavaScript之数组学习
- 汽车4S店经营状况分析
- 修改Windows系统管理员Administrator的名称
- 经典网络结构 (五):ResNet (残差网络)
- 前端学习从入门到高级全程记录之43 (PHP基础Ⅵ)
- ubuntu或者Ubuntu Kylin下安装Visual Studio Code
- Charles设置代理之后,为什么电脑和手机都不能上网
- 矩阵转置行列式的运算规律
- 解决Macbook双系统 找不到麦克风问题
- 诺丁汉大学计算机专业怎样,诺丁汉大学计算机科学专业怎么样 雅思成绩要求如何...
- windows重装系统
- 整车EOL 诊断系统