假设我有两个类:A
with property A.a
,B
with property B.b
。
一些属性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
是试图防止一般问题,但我需要以某种方式实现这一点。有什么建议么?