自学内容网 自学内容网

【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

(不在GoF23设计模式中)

简单工厂模式

Simple Factory Pattern

工厂方法模式

Factory Method Pattern

抽象工厂模式

Abstract Pattern

原型模式

Prototype Pattern

建造者模式

Builder Pattern

结构型模式(7个)

Structural Pattern

适配器模式

Adapter Pattern

桥接模式

Bridge Pattern

组合模式

Composite Pattern

装饰模式

Decorator Pattern

外观模式

Facade Pattern

享元模式

Flyweight Pattern

代理模式

Proxy Pattern

行为型模式(11个)

Behavioral Pattern

职责链模式

Chain of Responsibility Pattern

命令模式

Command Pattern

解释器模式

Interpreter Pattern

迭代器模式

Iterator Pattern

中介者模式

Mediator Pattern

备忘录模式

Memento Pattern

观察者模式

Observer Pattern

状态模式

State Pattern

策略模式

Strategy Pattern

模板方法模式

Template Method Pattern

访问者模式

Visitor Pattern


原文地址:https://blog.csdn.net/Pumpkin_O/article/details/140632735

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!