java将对象作为参数传递是否会产生与将其存储在字段中相同级别的耦合?
class ConcreteObserver implements Observer {
String text;
public void actualize(Subject subject) {
this.text = subject.getState();
}
}
换句话说,上面的代码是否使我的Subject
与Observer
耦合的方式与我这样做的方式相同
class ConcreteObserver implements Observer {
String text;
Subject subject;
public void actualize() {
this.text = subject.getState();
}
}
# 1 楼答案
以下所有关系都算作耦合:
所以在这两种情况下
ConcreteObserver
都与Subject
耦合。 (关于问题Subject
与Observer
的耦合,没有什么可说的)第二种情况将父
Observer
与Subject
分离, 但是IMO显式依赖比用隐式伪造范围要好