Krzysiek Grzembski
Krzysiek Grzembski

Reputation: 994

Observer as Observable in design patterns

Is it ok to use Observer as Observable for another observer? I mean something like this:

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)

or is there better design pattern for that?

Upvotes: 1

Views: 39

Answers (1)

Zazaeil
Zazaeil

Reputation: 4109

Both observer and observable are interfaces. Even in languages that do not allow multiple inheritance like C#, it is still fine to implement both interfaces. And there indeed exists such implementation out of the box, by convention known as Subject. So, yeah, it is ok as long as your implementation respects the semantics.

Upvotes: 2

Related Questions