Observer is a behavioral design pattern that allows one objects to notify other objects about changes in their state.
The Observer pattern provides a way to subscribe and unsubscribe to and from these events for any object that implements a subscriber interface.
Application of the pattern in C#
Usage examples: The Observer pattern is pretty common in C# code, especially in the GUI components. It provides a way to react to events happening in other objects without coupling to their classes.
Identification: The pattern can be recognized by subscription methods, that store objects in a list and by calls to the update method issued to objects in that list.
Example: Structure of the Pattern
This example illustrates the structure of the Observer design pattern. It focuses on answering these questions:
- What classes does it consists of?
- What roles do these classes play?
- In what way the elements of the pattern are related?
Program.cs: Structural Example