得墨忒耳定律表明,你只应该直接与你所知道的物体说话。 也就是说,不要执行方法链接来与其他对象交谈。 当你这样做的时候,你正在与中间对象build立不正当的联系,不恰当地把你的代码和其他代码联系起来。 那很糟。 解决办法是为你所知道的类本质上公开简单的包装,将责任委托给它与之有关系的对象。 那很好。 但是,这似乎导致class级凝聚力低下。 它不再仅仅是对它所做的事情负责,而且它也使代表从某种意义上说,通过复制相关对象的接口部分来使得代码更less凝聚力。 那很糟。 这是否真的会降低凝聚力? 是两个邪恶中较小的一个? 这是发展的灰色地带之一吗?你可以在这里辩论哪一方面,或者有强有力的原则性的方式来决定在哪里划界,以及你可以用什么标准来作出这个决定?
任何人都可以描述面向对象范式中松耦合和紧耦合的精确区别吗?