耦合的问题

减小耦合到底是为了什么?比如说有两块代码A和B。
我修改了A代码,如果A和B之间的耦合小的话,
那么B代码就不会因此受到牵连,也必须修改。
怎样做到这一点呢?可以是继承,A和B都继承自
一个接口;也可以是组合,A中有一个B的抽象基类
的字段。可是,如果接口不够用了怎么办?用visitor?
而visitor是gof最不受推荐的pattern,所以接口的
设计受需求变化的影响很大,如果接口变化了,
那么耦合将仍然存在哦。而接口也就是domain model
中所表述的东西,是先完全确定接口,还是先
胡乱搞个接口,最后再来refactoring呢?

domain model 中也是允许迭代的,因为随着需求越明朗化,必然会修改以前的东西,如E-R 中类的属性,方法。但也不是“先胡乱搞个接口,“,
但你所说"在将来refactoring",我认为是一定要的

减少偶合不只是弄个接口或抽象类这么流于形式。

从代码模式到系统架构都在朝这个目标努力。N层的分布式架构是降低结构上的偶合。

比如参数传入,尽量使用对象,不要用String 等,这样也可以减少偶合。

我觉得系统中减少耦合主要是将耦合集中起来

耦合是不可能完全避免的

To littleLight:

你所说的 "将耦合集中起来"太深渊了 ,是不是就是“抽象与实现的分离”?望执教?

你这个问题应该反过来思考,即:我应该设计什么样的接口才能减少对象之间的耦合?
事物间的联系是固有的(即存在耦合),只是你的设计是否真实地反映了物事间本质的联系,经验表明在解决相同问题的一组相互协作的对象间耦合程度越小,其联系越接近问题域中事物的本质联系。因此绝对独立的对象是毫无用处的,不要过分注重解耦,而是要寻找问题背后的真相。