java - 将观察者与主题耦合

标签 java design-patterns

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

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 不需要在字段中保留 Observable 对象(您称之为“Subject”)的引用,因为 Observer 通常已经接收 Observable 对象作为更新方法的参数。

关于java - 将观察者与主题耦合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23295264/

相关文章:

java - 在 Java 中扩展静态类是什么意思?

java - Android - 如何正确挂起 OpenGL

php - php 中的正则表达式- 从字符串中捕获 9 种类型的数字

javascript - 类工厂是有效的 javascript 模式吗?

php - 业务逻辑应该与模型分开吗?

Javascript 模块模式 - 我做错了什么?

java - 本地日期 : format with locale

java - 按钮导致致命异常 : main, 以及如何插入 "$"

java - 在 Android 中使用 RegEx 拆分字符串

Javascript 模块化设计模式 - : self-invoking function, 或对象文字方法哪个更好?