Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically
Visitor Pattern
Notifier Pattern
Observer Pattern
Template Pattern