设计模式的分类

172 阅读2分钟

浅谈设计模式

一、设计模式的要素

什么是设计模式?

设计模式(design pattern)是对面向对象设计中反复出现的问题的解决方案。其并非是一种技术,而是在项目迭代的过程中,为了实现一些功能,设计了一些解决方案,将这些经验进行总结出来的一个模式体系,这个体系是总结的经验。

为什么要使用设计模式?

我的理解是:

  1. 让代码更容易理解,更加清晰
  2. 使程序更加健壮,更好的高内聚,低耦合,方便维护
  3. 更好的复用代码,保证代码的可靠性

设计模式一般有以下4个基本要素

  • 模式名称:用一两个词来描述模式的问题、解决方案和效果
  • 问题:描述了应该在何时使用模式
  • 解决方案:描述了设计的组成成分、他们之间的相互关系及各自的职责和协作方式
  • 效果:描述了模式应用的效果及使用模式应权衡的问题

二、设计模式的分类

设计模式共23 种,分为三大类,分别是 创建型模式结构型模式行为型模式

创建型模式:创建对象的过程

  1. 工厂模式(Factory Method)
  2. 抽象工厂模式(Abstract Factory)
  3. 建造者模式(Builder)
  4. 单例模式(Singleton)
  5. 原型模式(Prototype)

结构型模式:如何组合类和对象以获得更大的结构

  1. 适配器(Adapter)
  2. 桥接(Bridge)
  3. 组合(Composite)
  4. 装饰(Decorator)
  5. 外观(Facade)
  6. 享元(Flyweight)
  7. 代理(Proxy)

行为型模式:涉及算法和对象间职责的分配,不仅描述对象或类的模式,也描述他们之间的通信模式

  1. 责任链模式(Chain of Responsibility)
  2. 命令模式(Command)
  3. 解释器(Interpreter)
  4. 迭代器(Iterator)
  5. 中介者模式(Mediator)
  6. 备忘录模式(Memento)
  7. 观察者模式(Observer)
  8. 状态(State)
  9. 策略模式(Strategy)
  10. 模板方法模式(Template Method)
  11. 访问者(Visitor)

三、学习链接

my.oschina.net/mdxlcj/blog…

my.oschina.net/u/2391658?t…