Skip to main content

40. Observer Pattern

The Observer pattern allows objects to be notified of state changes.


Example

class Subject:
def __init__(self):
self._observers = []
def attach(self, obs):
self._observers.append(obs)
def notify(self, msg):
for obs in self._observers:
obs.update(msg)

class Observer:
def update(self, msg):
print("Received:", msg)

subj = Subject()
obs1 = Observer()
subj.attach(obs1)
subj.notify("Hello Observers!")

Wrap-Up

Observer decouples subjects from observers, useful in GUIs and event systems.