java - 紧耦合示例没有意义

标签 java

public class TightlyCoupledClient{
    public static void main(String[] args) {
        TightlyCoupledServer server = new TightlyCoupledServer();
        server.x=5; //should use a setter method
        System.out.println("Value of x: " + server.x);

        }
}

class TightlyCoupledServer {
    public int x = 0;
}

在“J2SE 5 Platform SCJP 考试”中指出,如果 a 和 b 互相使用,则它们是紧密耦合的。它使用上面的例子。但 TightlyCoupledServer 似乎没有使用 TightlyCoupledClient。我怎么搞错了?

最佳答案

相互依赖只是紧密耦合的一种情况。紧耦合的另一种情况是所谓的内容耦合which occurs when one module modifies or relies on the internal workings of another module 。了解类名被视为 TightlyCoupledServer 模块内部工作的一部分;其成员变量的知识也是如此。

添加接口(interface)并对其进行编程可以减少耦合。使用实现接口(interface)的 TightlyCoupledServer 实例注入(inject)代码将进一步减少耦合。

关于java - 紧耦合示例没有意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20342281/

相关文章:

java - 相机X : setTargetResolution() does not work on some devices

java - System.currentTimeMillis() 是 Java 中时间性能的最佳衡量标准吗?

java - 如何使用Spring data JPA保存双向关联而不进行级联?

java - static Stack<Activity> 会导致内存泄漏吗?

java - Mapstruct:使用合格的 IterableMapping 映射列表属性

java - 有时,类在加载时编织期间不会被编织

java - 在 Spring 中通过代理创建和初始化惰性类实例

java - 无法在 Android 中登录 OpenERP

java - 复杂的文本解析 - 请帮忙弄清楚

java - 是否可以使 Hibernate 查询在多记录查询中跳过坏记录?