【发布时间】:2017-05-09 22:11:39
【问题描述】:
谁能解释一下为什么第一个代码块是紧耦合的,而另一个是松耦合的?
// tightly coupled
class Employee {
Address address;
Employee(){
address=new Address();
}
}
//loosely coupled
class Employee {
Address address;
Employee(Address address){
this.address=address;
}
}
【问题讨论】:
-
感谢您的努力,andre,我已经知道定义,如果您按照我提到的上述代码回答,那就太好了。
-
我们需要寻找确切的使用案例来确定案例是否恰好是紧密耦合的。在您的情况下,对于
Employee和Address实体,Employee类不创建地址本身,而是在对象创建或使用设置器时将其从外部注入是有意义的。通过这种方式,我们允许外部框架(如 hibernate 或 spring)对其进行管理,并且我们可以让许多员工使用相同的地址。