(零雨其蒙原创 转载请注明)
2007
年
3
月
7
日星期三
准则
当有多个局部信息专家有待选择时,将职责赋予具有支配作用的信息专家,即持有主要信息的对象。这样有助于支持低耦合
命令
-
查询分离原则
CQS
(
Command-Query Separation Principle
)是针对方法的经典
OO
设计原则
[Meyer88]
。该原则指出,任何方法都可能使如下情况之一:
l
执行动作(更新、调整,……)的命令方法,这种方法通常具有改变对象状态等副作用,并且是
void
的(没有返回值)。
l
向调用者返回数据的查询,这种方法没有副作用,不会永久性的改变任何对象的状态。
关键是
,一个方法不应该同时属于以上两种类型。
第
19
章
对可见性进行设计
对象之可见性
为了使发送者对象能够向接受者对象发送消息,发送者必须具有接受这的可见性,即发送者必须拥有对接收者对象的某种引用或指针
实现对象
A
到对象
B
的可见性的四种方式
l
属性可见性——
B
是
A
的属性
l
参数可见性——
B
是
A
中方法的参数
l
局部可见性——
B
是
A
中的方法的局部对象(不是参数)。
●
创建新的局部变量实例并将其分配给局部变量
●
将方法调用返回的对象分配给局部变量
l
全局可见性——
B
具有某种方式的全局可见性
自己的话:
终于把
GRASP
这两章看完了,真是费了不少脑筋,明天学习的内容我就不比较喜欢了,应该会很轻松。后续的第四部分将介绍
GRASP
其他模式和
GoF
设计模式,这两部分都是有所接触的,不是什么新知识,学起来应该相对轻松些。而第五部分,则又包含了大量章节来讲解大量细致的内容,这部书真的是值得一买精读数遍的好书啊!