The observer design pattern
There are sometimes cases where some objects are interested in the state change of another object and want to perform some specific action when this happens. A common example could be whenever you click a button in an app, some other objects subscribe to the click event and perform some actions. The observer design pattern helps us to achieve this. The purpose of the observer design pattern is to:
Note
Have an object (called subject) that automatically notifies all of its observers of any state change by calling one of their methods.
The observer design pattern is employed in most GUI toolkits. It is also part of the MVC architectural pattern where the view is an observer. Java even comes with the Observable
class and the Observer
interface.
Class diagram
For the class diagram, let's focus on the following example: we have a website with posts, and people can subscribe to get notifications whenever a new comment is added. The following diagram shows how something like...