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.