GRASP模式:General Responsibility Assignment Software Patterns:通用责任分配软件模式
里面重要的概念是责任,责任是类间的一种合约或是义务,可以细分为两部分,用公式表示如下:
责任 = 知道责任 + 行为责任(这里面似乎存在概念的循环定义)
注:用通俗的话来讲,责任就是一个类知道要做什么,并且能够做什么。
分为:
Information Expert / Creator / Low coupling / High cohesion /Controller / Polymorphism / Pure Fabrication / Indirection /
Protected Variations
注:这里面的模式分类似乎更强调是(OOA/OOD)面向对象分析/设计所具有的特性活特征,而不是模式划分。
GoF模式:Gung of Four : 标准的23个模式
根据目的分类:
a.Creational(创建型):对象创建有关
b.Structural(结构型):处理类或对象的组合
c.Behavioral (行为型):描述类或对象如何交互及如何分配职责
根据范围职责分类:
类模式:处理类与子类之间的关系,这些关系通过继承建立,是静态的关系,在编译的时候就已经确定下来。类模式都是使用了继承的机制,
因此很少部分模式属于这一类。
对象模式:处理对象间的关系,这些关系具有动态性,在运行期间是可以变化的。