设计模式概述

来源:互联网 发布:在淘宝网上买手机可靠吗 编辑:程序博客网 时间:2024/03/29 18:58

模式概念是建筑师Christopher Alexander提出的,他提出可以把现实中一些已经实现的较好的建筑和房屋的设计经验作为模式,在以后的设计中直接加以应用;并且定义了一种“模式语言”来描述建筑和城市中的成功的架构。Christopher Alexander江模式分为:情景、动机和解决方案三方面。提出模式是表示特定的情景、动机、解决方案三个方面关系的核心所在。

20世纪80年代中期该思想被引入软件领域。1995年,E. Gamma, R. Helm, R. Johnson和J. Vlissides四人合著了Design Patterns: Elements of Object-Oriented Software, 被成为软件设计模式的经典之作。四人也因此被称为GOF(四人帮,gang of four)了。

设计模式对软件开发的作用,主要体现在:

1.简化并加快设计

2.方便开发人员之间的通信

3.降低风险

4.有助于转到面向对象技术

设计模式的组成元素有:

模式名、问题或意图、情景、动机、解决方案、示例、结果情景、基本原理、相关模式、已知应用

设计模式的分类:

1.创建型模式

Factory Method、Abstract Factory、Builder、Prototype、Singleton

2.结构型模式

Adapter、Bridge、Composite、Decorator、Facade、Flyweight、Proxy

3.行为型模式

Chain of Responsibility、Command、Interpreter、Iterator、Mediator、Memento、Observer、State、Strategy、Template Method、Visitor