|
观察者模式:定义一种一对多的关系,让多个观察对象同时监听一个对象,当对象状态发生变化时通知所有的观察者。
代码:
- import pyb
- class Observer:
- def __init__(self):
- pass
- def Update(self):
- pass
-
- class LED1(Observer):
- def Update(self):
- pyb.led(1).on()
-
- class LED2(Observer):
- def Update(self):
- pyb.led(2).on()
-
- class SecretaryBase:
- def __init__(self):
- self.Observers = []
- def Attach(self, ob):
- pass
- def notify(self):
- pass
-
- class Secretary(SecretaryBase):
- def Attach(self, ob):
- self.Observers.append(ob)
- def Notify(self):
- for o in self.Observers:
- o.Update()
- if __name__ == "__main__":
- s = Secretary()
- l1 = LED1(s)
- l2 = LED2(s)
- s.Attach(l1)
- s.Attach(l2)
- s.Notify()
复制代码
自习课上,有的同学在睡觉,有的在看小说,有的在打牌。大家请坐在门口的同学,当老师快来的时候通知大家。
|
|