【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

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值