观察者与主题的耦合

用户名

我知道在观察者设计模式中,我们必须将观察者注册到主题上。但是我注意到,在某些实现中,主题实例是通过观察者类发送的,然后使用主题实例将观察者的对象发送到主题类。参见下面的例子

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设计模式实施或任何资源的方法吗

WoDoSc

从理论上讲,观察者不需要在字段中保留可观察对象(您称为“主题”)的引用,因为观察者通常已经接收到可观察对象作为更新方法的参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章