Java 将对象作为参数传递是否会产生与将其存储在字段中相同的耦合级别?
换句话说,上面的代码是否使我的Java 将对象作为参数传递是否会产生与将其存储在字段中相同的耦合级别?,java,observer-pattern,loose-coupling,coupling,Java,Observer Pattern,Loose Coupling,Coupling,换句话说,上面的代码是否使我的主题与观察者以相同的方式耦合 class ConcreteObserver implements Observer { String text; public void actualize(Subject subject) { this.text = subject.getState(); } } 以下所有关系都算作耦合: 联想 聚集 依赖性 概括 因此,在这两种情况下,ConcreteObserver都与主题耦合。
主题
与观察者
以相同的方式耦合
class ConcreteObserver implements Observer {
String text;
public void actualize(Subject subject) {
this.text = subject.getState();
}
}
以下所有关系都算作耦合:
- 联想
- 聚集
- 依赖性
- 概括
ConcreteObserver
都与主题耦合。
(关于问题主题
与观察者
的耦合,没有什么可说的)
第二种情况将父观察者
与主题
分离,
但是IMO显式依赖比用隐式伪造作用域要好
class ConcreteObserver implements Observer {
String text;
Subject subject;
public void actualize() {
this.text = subject.getState();
}
}