观察者在设计模式中是可观察的



将Observer用作另一个Observer的Observable可以吗?我的意思是:

TotalPrice (observator)
ItemPrice  (observator / observable for TotalPrice)
ItemCharacteristic1 (observable for ItemPrice)
ItemCharacteristic2 (observable for ItemPrice)
ItemCharacteristic3 (observable for ItemPrice)
ServicePrice  (observator / observable for TotalPrice)
ServiceCharacteristic1 (observable for ServicePrice)
ServiceCharacteristic2 (observable for ServicePrice)
ServiceCharacteristic3 (observable for ServicePrice)

或者有更好的设计模式吗?

观察者和可观察者都是接口。即使在像C#这样不允许多重继承的语言中,实现这两个接口仍然很好。确实存在这种开箱即用的实施方式,即所谓的Subject。所以,是的,只要您的实现尊重语义,这是可以的。

最新更新