【GoF23种设计模式+简单工厂模式】

一、设计模式概述与类型

1.1、设计模式的一般定义:

设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码,让代码更容易被他人理解并且保证代码可靠性。

设计模式一般包括:模式名称问题 、目的、解决方案效果等组成要素,其中模式名称、问题、解决方案和效果是关键要素。

  • 模式名称(Pattern Name):通过一两个词来描述模式的问题、解决方案和效果,以便更好地理解模式并方便开发人员之间的交流;
  • 问题(Problem):描述了应在何时使用模式,包含了设计中存在的问题以及问题存在的原因;
  • 解决方案(Solution):描述了一个设计模式的组成成分,以及这些组成成分之间的相互关系,各自的职责和协作方式,通常解决方案通过UML类图和核心代码来进行描述;
  • 效果(Consequences):描述了模式的优缺点以及在使用模式时应权衡的问题。

在学习每一个设计模式时至少应该掌握如下几点:这个设计模式的意图 是什么,它要解决一个什么问题什么时候 可以使用 它;它是如何解决 的,掌握它的结构图 ,记住它的关键代码 ;能够想到至少两个它的应用实例 ,一个生活中的,一个软件中的;这个模式的优缺点是什么,在使用时要注意什么。

1.2、设计模式的分类

根据用途,将设计模式分为3大类:创建者模式、结构型模式和行为型模式。

  1. 创建型模式(Creational Pattern):主要用于描述如何创建对象;
  2. 结构型模式(Structural Pattern):主要用于描述如何实现类或对象的组合;
  3. 行为型模式(Behavioral Pattern):主要用于描述类或对象怎样交互以及怎样分配职责。

|---------------------------------------|--------------------------------------------------|
| 类型 | 模式名称 |
| 创建型模式(6个) Creational Pattern | 单例模式 Singleton Pattern |
| 创建型模式(6个) Creational Pattern | (不在GoF23设计模式中) 简单工厂模式 Simple Factory Pattern |
| 创建型模式(6个) Creational Pattern | 工厂方法模式 Factory Method Pattern |
| 创建型模式(6个) Creational Pattern | 抽象工厂模式 Abstract Pattern |
| 创建型模式(6个) Creational Pattern | 原型模式 Prototype Pattern |
| 创建型模式(6个) Creational Pattern | 建造者模式 Builder Pattern |
| 结构型模式(7个) Structural Pattern | 适配器模式 Adapter Pattern |
| 结构型模式(7个) Structural Pattern | 桥接模式 Bridge Pattern |
| 结构型模式(7个) Structural Pattern | 组合模式 Composite Pattern |
| 结构型模式(7个) Structural Pattern | 装饰模式 Decorator Pattern |
| 结构型模式(7个) Structural Pattern | 外观模式 Facade Pattern |
| 结构型模式(7个) Structural Pattern | 享元模式 Flyweight Pattern |
| 结构型模式(7个) Structural Pattern | 代理模式 Proxy Pattern |
| 行为型模式(11个) Behavioral Pattern | 职责链模式 Chain of Responsibility Pattern |
| 行为型模式(11个) Behavioral Pattern | 命令模式 Command Pattern |
| 行为型模式(11个) Behavioral Pattern | 解释器模式 Interpreter Pattern |
| 行为型模式(11个) Behavioral Pattern | 迭代器模式 Iterator Pattern |
| 行为型模式(11个) Behavioral Pattern | 中介者模式 Mediator Pattern |
| 行为型模式(11个) Behavioral Pattern | 备忘录模式 Memento Pattern |
| 行为型模式(11个) Behavioral Pattern | 观察者模式 Observer Pattern |
| 行为型模式(11个) Behavioral Pattern | 状态模式 State Pattern |
| 行为型模式(11个) Behavioral Pattern | 策略模式 Strategy Pattern |
| 行为型模式(11个) Behavioral Pattern | 模板方法模式 Template Method Pattern |
| 行为型模式(11个) Behavioral Pattern | 访问者模式 Visitor Pattern |
| 行为型模式(11个) Behavioral Pattern |

相关推荐
杨充10 小时前
10.可测试性实战设计
设计模式·开源·代码规范
杨充10 小时前
9.重构十二式的实战
设计模式·开源·代码规范
杨充11 小时前
6.设计原则的全景图
设计模式·开源·全栈
杨充11 小时前
2.面向对象的特性
设计模式
杨充11 小时前
7.SOLID原则案例汇
设计模式·开源·全栈
杨充11 小时前
8.反模式与坏味道
设计模式·开源·代码规范
杨充11 小时前
3.接口vs抽象类比较
设计模式
咖啡八杯14 小时前
文法、BNF与AST
java·设计模式·解释器模式·ast·文法
咖啡八杯1 天前
GoF设计模式——解释器模式
java·后端·spring·设计模式