假设我有两个类:具有属性 A.a 的类 A 和具有属性 B.b 的类 B。
A 中的一些属性依赖于 B.b,但 A.a 不依赖于 B.b。
B 中的一些属性依赖于 A.a,但 B.b 不依赖于 A.a。
我希望 A 能够在 B.b 更改时得到通知,并且 B 能够在 A.a 更改时得到通知。如果我使用标准观察者模式:
A 中的一些属性依赖于 B.b,但 A.a 不依赖于 B.b。
B 中的一些属性依赖于 A.a,但 B.b 不依赖于 A.a。
我希望 A 能够在 B.b 更改时得到通知,并且 B 能够在 A.a 更改时得到通知。如果我使用标准观察者模式:
public class A implements B.Observer {..}
public class B implements A.Observer {..}
我遇到了编译错误:
涉及 B(或 A)的循环继承。
我知道这可能会导致一般情况下的无限循环,但在这种情况下并不会。例如,如果 A.a
发生变化,A
会通知 B
。但是由于 A.a
对 B.b
没有影响,因此没有返回通知给 A
,也没有循环。
我感谢 Java
正在尝试防止一般问题,但我需要以某种方式实现它。有什么建议吗?
B.Observer
和A.Observer
是什么意思。标准观察者模式只有一个Observer
接口,由所有观察者实现。 - Chetan Kinger