来源
设计模式来自于建筑领域,作为软件工程的一个分支。1995年GOF(Gang Of Four四人组,Erich Gamma、Richard Helm,Ralph Johnson和John Vlissides)收集整理了23种设计模式出版了《设计模式:可复用面向对象软件的基础》一书。(GOF缺少了一个较为常用的设计模式,简单工厂)
定义
设计模式的英文叫 Desing Pattern,是一套被反复使用、多数人知晓的、经过分类编辑的代码设计经验的总结。使用设计模式是为了可重用代码(可重用),让代码更容易让他人理解(易维护)并保证代码的可靠性(可靠性)。
分类
设计模式可分为:创建型、结构型和行为型三种。
创建型:用于描述如何创建对象。包含六个设计模式,分别是:单例模式、简单工程模式、工厂模式、抽象工厂模式、原型模式、建造者模式。
结构型:用于描述如何实现类或对象的组合。包含七个设计模式,分别是:适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式。
行为型:用于描述类或对象怎样交互以及怎样分配职责。包含十一个设计模式,分别是:职责链模式、命令模式、解释器模式、迭代者模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式。