什么是设计模式?(Design Pattern)

设计模式(Design Parttern)

我要正儿八经的弄懂设计模式。这是开始,先搞明白的什么是设计模式。

定义

设计模式是一套被 反复使用多数人知晓经过分类编目的代码设计经验的总结

为什么要用设计模式

为了 可重用 代码,让代码更容易的被他人理解并保证代码的 可靠性

谁这么叼设计牛模式

四人组( Gang of Four ),简称 GoF ,分别是 Erich Gamma, Richard Helm , Ralph Johnson John Vlissides 。但不是他们设计的,是他们在 95年的时候整理归纳 23 种最常用的设计模式并会变成一本书 Design Patterns: Elements of Reusable Object-Oriented Software 就是:《设计模式:可复用面向对象软件的基础》 。是经过时间的验证的,大家一定要学会。

怎么学

balabala …

设计模式最重要的 4 个元素 模式名称 (Parttern Name)问题(Problem)解决方案 (Solution)效果 (Consequences)

学习设计模式我们就从这 4 个元素出发。一个一个弄清楚它。

  • 模式名称 (Parttern Name)

    就是这个模式的名字。简单明了的命名。

  • 问题 (Problem)

    描述了应该在何时使用模式,它包含了设计中存在的问题以及问题存在的原因

  • 解决方案 (Solution)

    该框架的解决方案。就是如何设计这个模式。描述了一个设计模式的组成成分,以及这些组成成分之间的相互关系,各自的职责和协作方式,通常解决方案通过UML类图和核心代码来进行描述。

  • 效果 (Consequences)

    描述了模式的优缺点以及在使用模式时应权衡的问题 (呈现)

    说到这里,你都有啥框架

    我们要掌握的应该除了GoF 说的 23 种模式还有加一个 简单工厂模式 (Simple Factory Pattern)也很常用还简单。我顺手就学会了。

来个预览先(参考

类型

模式名称

学习难度

使用频率

创建型模式

Creational Pattern

单例模式

Singleton Pattern

★☆☆☆☆

★★★★☆

简单工厂模式

Simple Factory Pattern

★★☆☆☆

★★★☆☆

工厂方法模式

Factory Method Pattern

★★☆☆☆

★★★★★

抽象工厂模式

Abstract  Factory Pattern

★★★★☆

★★★★★

原型模式

Prototype Pattern

★★★☆☆

★★★☆☆

建造者模式

Builder Pattern

★★★★☆

★★☆☆☆

结构型模式

Structural Pattern

适配器模式

Adapter Pattern

★★☆☆☆

★★★★☆

桥接模式

Bridge  Pattern

★★★☆☆

★★★☆☆

组合模式

Composite  Pattern

★★★☆☆

★★★★☆

装饰模式

Decorator  Pattern

★★★☆☆

★★★☆☆

外观模式

Façade  Pattern

★☆☆☆☆

★★★★★

享元模式

Flyweight  Pattern

★★★★☆

★☆☆☆☆

代理模式

Proxy  Pattern

★★★☆☆

★★★★☆

行为型模式

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

★★★★☆

★☆☆☆☆

看图得知,这是按照用途分为三种: 创建型(Creational, 结构型(Structural, 行为型(Behavioral 三种。
接下来就按照表格 模式名称这一列顺序一一讲解。学习难度和使用频率并不重要,因为我都要会。

更新中:
1. 什么是设计模式
2. 单例模式
3. 简单工厂模式
这里总是最新的
看完给个star鼓励一下

《什么是设计模式?(Design Pattern)》

    原文作者:算法小白
    原文地址: https://juejin.im/post/59b78dfe5188257e7e115cae
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞