将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。所以,是的,只要您的实现尊重语义,这是可以的。