Frequently asked questions
Q1. Can there be many Subjects
and Observers
?
A: There can be a case for a software application to have multiple Subjects
and Observers. For this to work, Observers
need to be notified of changes in the Subjects
and which Subject
underwent a change.
Q2. Who is responsible for triggering the update?
A: As you learned earlier, the Observer pattern can work in both push and pull models. Typically, the Subject triggers the update method when there are changes, but sometimes based on the application need, the Observer can also trigger notifications. However, care needs to be taken that the frequency should not be too high, otherwise it can lead to performance degradation, especially when the updates to the Subject are less frequent.
Q3. Can the Subject
or Observer
be used for access for any other use case?
A: Yes, that's the power of loose coupling that is manifested in the Observer pattern. The Subject
/Observer
can both be independently used.