一个对象请求另一个,后者在请求下一个对象,....这就是消息链。采取这种方式,意味客户代码将与查找过程中的导航结构紧密耦合,一旦对象间的关系发生任何变化,客户端就不得不做出相应修改。
这时候应该使用hide delegate。
通常更好的手法:先观察消息链最终得到的对象是用来干什么的,看看能否以extract method把使用该对象的代码提炼到一个独立函数中,在运用move method把这个函数推入消息链。如果这条链上的某个对象有多位客户打算航行此航线的剩余代码,就加一个函数做这件事。
最后
以上就是欣喜冬瓜最近收集整理的关于3.15 message chains (过度耦合的消息链)的全部内容,更多相关3.15内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复