在觀察者設計模式中,我知道我們必須向觀察者註冊主題。但我注意到,在一些實現中,主題實例通過觀察者類發送,然後觀察者的對象被髮送到使用主題實例的主題類。看下面的例子將觀察者與主體耦合
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設計模式或
在觀察者模式的適當實現中,觀察者和主體是「鬆散耦合」的,而不是「完全分離的」。這個例子顯示強耦合,這意味着它是一個糟糕的實現。 –