python----观察者模式
class Resi():
def __init__(self,):
self.obsers=[]
self.status=''
def attach(self,observe):
self.obsers.append(observe)
def notify(self):
for i in self.obsers:
i.update()
class Observe():
def __init__(self,name,resi):
self.name=name
self.resi=resi
def update(self):
print('%s,%s请你停止玩游戏'%(self.resi.status,self.name))
class Finace(Observe):
def update(self):
print('%s,%s请客吃饭' % (self.resi.status, self.name))
resi=Resi()
obj1=Observe('张三',resi)
obj2=Observe('李四',resi)
obj3=Finace('王五',resi)
resi.attach(obj1)
resi.attach(obj2)
resi.attach(obj3)
resi.status='老师来了'
resi.notify()
