我知道在观察者设计模式中,我们必须将观察者注册到主题上。但是我注意到,在某些实现中,主题实例是通过观察者类发送的,然后使用主题实例将观察者的对象发送到主题类。参见下面的例子
public class Observer1 extends Observer {
public Observer1(Subject subject) {
this.subject = subject;
this.subject.attach(this);
}
@Override
public void update() {
System.out.println("Observer1: "
+ Integer.toBinaryString(subject.getState()));
}
}
我的问题是Observer类是否需要主题实例?我以为观察者与主题完全脱节
有人可以给我一个好的Observer设计模式实施或任何资源的方法吗
从理论上讲,观察者不需要在字段中保留可观察对象(您称为“主题”)的引用,因为观察者通常已经接收到可观察对象作为更新方法的参数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句