我正在阅读福勒的重构书,对这两个代码气味有点困惑.
"消息链"就是这样的调用a.getB().getC().getValue().
"中间人"是一种类似的方法
class A
{
object getCValue()
{
return b.getCValue();
}
}
Run Code Online (Sandbox Code Playgroud)
我理解这两个部分的方式是,如果你有"消息链",你可以通过引入"中间人"来缩短它们.如果你有"中间人"你将它们变成"消息链"......
现在显然必须有一些限制,或者你有一个程序员的旋转木马.我应该在什么时候支持一个而不是另一个?
一个是将类耦合到不相关的类,另一个是将类耦合到结构.所以从理论上讲,我的方法是检查任何给定的变化是否会减少一种耦合,而不是增加另一种耦合.但是,一种耦合是否更糟,应该更加权衡?即如果你可以删除X结构联轴器,只需添加一个类联轴器?
| 归档时间: |
|
| 查看次数: |
3645 次 |
| 最近记录: |