标签:
方法访问其他类的对象的属性,而不是自己的。
最常见的问题就是由数据类引起的。
多数时候,同时需要做出改变的code 应该在一起。
一个类有大量的访问另一个类的属性和方法,类之间的联系千丝万缕。
变双向依赖为单向
单点接触
a.b().c().d()
有什么不好吗? 客户对这关系知道的太多了,修改关系就意味着修改所有客户。
隐藏委托,变单点接触。a 通过b 找到c ,调用c 的方法,改成 a调用b 的方法。
考虑是否可以把方法移动到客户端,客户自足。
减少依赖
一个类仅仅就是为了把行为委托给其他类,那它没有存在的必要。
过渡使用去除消息链的方法的结果;
如果一个类的大多数方法都委托给其他类,那就移调中间人,采用消息链。
这也是 坏味道?
库不能满足需要,但它又是只读的。
在本地添加一个方法,在库的基础上实现更多功能;
继承库的类
不用再实现一遍库里已经提供的代码
标签:
原文地址:http://www.cnblogs.com/yoogo/p/5243906.html