码迷,mamicode.com
首页 > 其他好文 > 详细

代码坏味道 - 耦合

时间:2016-03-05 01:40:27      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:


耦合


Feature Envy

症状:

 方法访问其他类的对象的属性,而不是自己的。

 

成因:

最常见的问题就是由数据类引起的。

治疗:

多数时候,同时需要做出改变的code 应该在一起。

 

收益:

 


不合适的亲密

症状:

一个类有大量的访问另一个类的属性和方法,类之间的联系千丝万缕。

成因:

 

治疗:

变双向依赖为单向

单点接触

收益:

 


消息链

症状:

a.b().c().d()

有什么不好吗? 客户对这关系知道的太多了,修改关系就意味着修改所有客户。

成因:

 

治疗:

隐藏委托,变单点接触。a 通过b 找到c ,调用c 的方法,改成 a调用b 的方法。 

考虑是否可以把方法移动到客户端,客户自足。

收益:

减少依赖


中间人

症状:

一个类仅仅就是为了把行为委托给其他类,那它没有存在的必要。

成因:

过渡使用去除消息链的方法的结果;

治疗:

如果一个类的大多数方法都委托给其他类,那就移调中间人,采用消息链。 

收益:


不完整的库类  -- 

这也是 坏味道?

症状:

库不能满足需要,但它又是只读的。

成因:

 

治疗:

在本地添加一个方法,在库的基础上实现更多功能;

继承库的类

收益:

不用再实现一遍库里已经提供的代码

代码坏味道 - 耦合

标签:

原文地址:http://www.cnblogs.com/yoogo/p/5243906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!