一、设计模式介绍
-
设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案, 设计模式(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
-
设计模式的本质提高 软件的维护性,通用性和扩展性,并降低软件的复杂度;
-
<<设计模式>> 是经典的书,作者是 Erich Gamma、 Richard Helm、 RalphJohnson 和 John Vlissides Design(俗称 “四人组 GOF”);
-
设计模式并不局限于某种语言, java, php, c++ 都有设计模式;
二、设计模式类型
设计模式分为三种类型,共 23 种:
1、创建型模式:
(1)单例模式;
(2)抽象工厂模式;
(3)工厂模式;
(4)原型模式;
(5)建造者模式;
2、结构型模式:
(1)适配器模式;
(2)桥接模式;
(3)装饰模式;
(4)组合模式;
(5)外观模式;
(6)享元模式;
(7)代理模式;
3、行为型模式:
(1)模板方法模式;
(2)命令模式;
(3)访问者模式;
(4)迭代器模式;
(5)观察者模式;
(6)中介者模式;
(7)备忘录模式;
(8)解释器模式(Interpreter 模式);
(9)状态模式;
(10)策略模式;
(11)职责链模式(责任链模式)
注意:不同的书籍上对分类和名称略有差别。