设计模式

目录

  • 一、引言

一、引言

小说家和剧本作家很少从头开始设计剧情,他们都是沿袭一些业已存在的模式。同样,面向对象的设计人员也需要沿袭一些模式,这样,就能很快找到解决问题的合适方法了。

1、什么是设计模式

设计模式的每一个模式都描述了一个在我们周围不断重发发生的问题,以及该问题的解决方案的核心。这样,你就能一次一次地使用该方案而不必做重复劳动。

一般而言,一个模式有四个基本要素:

  • 模式名称。
  • 问题。描述了应该在何时使用该模式。
  • 解决方案。描述了设计的组成成分。
  • 效果。描述了模式应用的效果以及使用模式应权衡的问题。

设计模式是对被用来在特定的场景下解决一般设计问题的类和相互通信的对象的描述。

2、描述设计模式

当我们解释一个设计模式的时候,怎么样来描述它呢?使用图形符号是很有用的,但是却不够。因为,我们需要记录设计模式的决定过程,选择过程和权衡过程。因此,这里从下面几个方面来描述一个设计模式。

模式名和分类。就是名字和归类。

意图。就是这个设计模式是用来解决什么问题的。

别名。

动机。如何使用该设计模式解决问题。

适用性。什么情况下使用该设计模式。

结构。采用一种叫做对象建模技术的表示方法对模式中的类进行的图形描述。

参与者。设计模式中的类/对象以及它们各自的职责。

协作。模式的参与者怎么样来协作实现它们的职责。

效果。模式怎么样来支持它的目标。

实现。实现模式的时候需要注意的一问题。

代码实例。

已知应用。该模式在不同领域的实例。

相关模式。与这个模式紧密相关的模式有哪些,等等。

3、24种设计模式

Abstract Factory(抽象工厂模式)。

Adapter(适配器模式)。

Bridge(桥接模式)。

Builder(建造者模式)。

Chain of Responsibity(责任链模式)。

Command(命令模式)。

Composite(组合模式)。

Decorator(装饰器模式)。

Facade(外观模式)。

Factory Method(工厂模式)。

FlyWeight(享元模式)。

Interpreter(解释器模式)。

Mediator(中介者模式)。

Memento(备忘录模式)。

Observer(观察者模式)。

Prototype(原型模式)。

Proxy(代理模式)。

Singleton(单例模式)。

State(状态模式)。

Strategy(策略模式)。

Template Method(模板模式)。

Visitor(访问者模式)。

4、设计模式的分类

我们根据创建的目的对设计模式进行分类

创建型(Creational),与对象的创建有关。

结构型(Structural),处理类或对象的组合。

行为型(Behavioral),对类或对象怎样交互和怎样分配职责进行描述。

 

posted @ 2019-09-10 11:46  walle_zhao  阅读(177)  评论(0编辑  收藏  举报