

This pattern is very similar to the Publish-Subscribe pattern. A user (an observer) can also subscribe to receive offers from another e-commerce marketplace if they want and might later completely unsubscribe from receiving offers from any of them.

Each user can then either buy into the offer or decide that they might not be really interested in it at that moment.

Anytime there is an offer from Envato Market, they get notified about it via email. Let's use the example of users that have subscribed to receive offers from Envato Market via email. Anytime the state of one of the objects (the "subject" or "observable") changes, all of the other objects ("observers") that depend on it are notified. The Observer Pattern is a software design pattern that establishes a one-to-many dependency between objects.
