作为面向对象的程序员,我遇到了一些遗留代码,这些代码引起了我的所有质问。
这是经常使用的模式: 一个接口有两个实现,一个实现调用另一个实现的方法。
现在,我认为应该对其进行重构,以便实现彼此不了解。如何做到这一点很简单。我无法清楚地弄清楚 - 并希望 SO 的好人能帮助我 - 是为什么。
我可以看到理论上的原因——这是一个糟糕的面向对象设计。但是我在这里扮演魔鬼的拥护者并问 - 两个实现相互了解的实际缺点是什么。为什么要花费时间和金钱来摆脱这种(在我看来)反模式?
任何有关此的信息或链接将不胜感激。