Figure 1.
Common Pattern
The observer design pattern implemented as a UML class diagram. (Source:
Design Patterns: Elements of Reusable Object-Oriented Software
, Erich Gamma et al. [Addison-Wesley Professional Computing Serires, 1995])