首页 > 解决方案 > 低耦合理论与现实

问题描述

耦合被定义为一个对象对另一个对象的了解,它描述了它们的依赖程度。越依赖,越糟糕,因为其中一个的变化会影响到第二个。有不同的耦合类型:

http://www.principles-wiki.net/principles:low_coupling

假设我们谈论调用耦合。

在 Java 中,当 A 创建一个对象 B 并调用其方法之一时,它被称为紧密耦合。但是,如果我们创建一个接口 IB,从 B 实现 IB 的 A 中使用,则据说它是松散耦合的。我不明白为什么,因为界面中的一次更改会对 A 和 B 产生影响。B 中的一次更改会对 IB 和 A 产生影响。它们似乎仍然依赖于调用。

同样的原理也适用于 Facade GoF 设计模式。据说它促进了低耦合,因为我们在子系统和客户端代码之间放置了一个中介。在这种情况下,看起来我们将问题从客户端代码转移到了 Facade。由于子系统中的更改会影响外观而不是客户端代码。客户端代码不再与子系统耦合,但外观是。

我看不出耦合是如何减少的。

标签: javadesign-patternscoupling

解决方案


推荐阅读