模式简单地讲就是解决特定问题的经验,模式的最初提出并不是软件领域,而是1977年由一位建筑专家Christopher Alexander 在<<模式语言>>(<<A Pattern Language>>)中首次提出的
然而在软件行业,“模式”概念的普及却是来源于1994年Gamma,Helm,Johnson,Vlissdes(简称“Gang of Four”)合著的<<Design Patterns:Elements of
Reusable Object-Oriented Software>>(<<设计模式:可复用面向对象软件的基础>>)一书,这本书也成为模式在软件行业地位的奠基之作.今天,设计模式已经成为软件开发设计人员的共同话题和必备知识。“Gang of Four ”在<<Design Patterns>>一书中认为”设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述”。“Gang of Four”把他们总结的23种按照设计模式的目的将其分创建型(Creational)结构型(Structural)和行为型(Behavioral).这三种类型的设计模式分别描述了对象在创建、组合以及相互作用的过程中如何降低他们之间的耦合性、提高复用性的种种成功的方案。