设计模式的分类有很多种方法,本文主要介绍GOF(Gangof Four)设计模式分类和POSA(Pattern-Oriented Software Architectur,面向模式的软件架构)设计模式分类。
7.2.1 GOF设计模式分类
20 世纪 90年代,Erich Gamma 等4人,也就是通常所说的 GOF(Gang of Four,"四人帮")从建筑设计领域将设计模式引人到计算机科学领域时,根据以下两条准则对设计模式进行了分类。第一,根据目的准则,设计模式可分为创建型(Creational)、结构型(Structural)、行为型(Behavioral)三种;第二,根据范围准则,设计模式可分为类模式和对象模式,类模式处理类和子类之间的关系,这些关系通过继承建立,是静态的,在编译时刻已经确定下来了。对象模式处理对象之间的关系,这些关系在运行时刻是可以变化的,具有动态性。依据以上两种分类准则,表7.1形象地表示出了设计模式的分类。

创建型类模式将对象的部分创建工作延迟到子类,而创建型对象模式则将它延迟到另一个对象中。
结构型类模式使用继承机制类组合类,而结构型对象模式则描述了对象的组装方式。
行为型类模式使用继承描述算法和控制流,而行为型对象模式则描述一组对象怎样协作完成单个对象所无法完成的任务。