3.15 message chains (过度耦合的消息链)

一个对象请求另一个,后者在请求下一个对象,....这就是消息链。采取这种方式,意味客户代码将与查找过程中的导航结构紧密耦合,一旦对象间的关系发生任何变化,客户端就不得不做出相应修改。

这时候应该使用hide delegate。

通常更好的手法:先观察消息链最终得到的对象是用来干什么的,看看能否以extract method把使用该对象的代码提炼到一个独立函数中,在运用move method把这个函数推入消息链。如果这条链上的某个对象有多位客户打算航行此航线的剩余代码,就加一个函数做这件事。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭