设计模式的分类

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

一、设计模式的要素


什么是设计模式?


设计模式(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…


目录
相关文章
|
2月前
|
设计模式 安全 Java
【设计模式】2、设计模式分类和单例设计模式
【设计模式】2、设计模式分类和单例设计模式
26 0
|
4月前
|
设计模式 算法
23种设计模式分类
23种设计模式分类
35 0
|
6月前
|
设计模式
设计模式系列教程(03) - 设计模式分类及六大原则
设计模式系列教程(03) - 设计模式分类及六大原则
27 0
|
10月前
|
设计模式
结构型设计模式分类
结构型设计模式分类
|
10月前
|
设计模式
大话设计模式-23中设计模式分类
大话设计模式-23中设计模式分类
|
10月前
|
设计模式 算法
设计模式简单分类
设计模式简单分类
49 0
|
10月前
|
设计模式 算法
23种设计模式分类
23种设计模式分类
36 0
|
10月前
|
设计模式 算法 关系型数据库
设计模式——设计模式简介、分类及面向对象设计原则
23 种设计模式中有些模式今天已经不流行了,有些模型已经被语言机制替代了,有些模式你可能常常会忘记,但这些都不重要,重要的是设计原则,因为有了这些设计原则,你有可能发明自己的模式,你也可以理解未来千千万万其他领域的模式。
49 1
|
11月前
|
设计模式 开发框架 算法
【Java设计模式 设计模式与范式】设计模式概述、基本原则及分类
【Java设计模式 设计模式与范式】设计模式概述、基本原则及分类
47 0
|
12月前
|
设计模式 Java
Java设计模式简介、设计模式原则及分类
Java设计模式简介、设计模式原则及分类
99 0