LLD - Behavioral Design Patterns — Part 1
Given this code snippet, what will be printed?
class Subject:
def __init__(self):
self.observers = []
self.state = 0
def attach(self, observer):
self.observers.append(observer)
def set_state(self, state):
self.state = state
for obs in self.observers:
obs.update(state)
class Observer:
def __init__(self, name):
self.name = name
def update(self, state):
print(f"{self.name} received state {state}")
subject = Subject()
obs1 = Observer('A')
obs2 = Observer('B')
subject.attach(obs1)
subject.attach(obs2)
subject.set_state(5)