14.10. Implement the Observer Pattern
You need to implement an efficient mechanism for an object (the subject) to notify other objects (the observers) about changes to its state.
Implement the Observer pattern using delegate types as type-safe function pointers and event types to manage and notify the set of observers.
How It Works
The traditional approach to implementing the Observer pattern is to implement two interfaces: one to represent an observer (IObserver) and the other to represent the subject (ISubject). Objects that implement IObserver register with the subject, indicating that they want to be notified of important events (such as state changes) affecting the subject. The subject is responsible for managing the list ...