观察者模式的公会代码
时间: 2024-04-14 14:22:59 浏览: 14
观察者模式是一种行为设计模式,它允许对象之间建立一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。下面是一个简单的观察者模式的示例代码:
```python
# 主题接口
class Subject:
def attach(self, observer):
pass
def detach(self, observer):
pass
def notify(self):
pass
# 具体主题类
class ConcreteSubject(Subject):
def __init__(self):
self.observers = []
def attach(self, observer):
self.observers.append(observer)
def detach(self, observer):
self.observers.remove(observer)
def notify(self):
for observer in self.observers:
observer.update()
# 观察者接口
class Observer:
def update(self):
pass
# 具体观察者类
class ConcreteObserver(Observer):
def __init__(self, name):
self.name = name
def update(self):
print(f"{self.name} 收到通知,进行更新操作")
# 使用示例
subject = ConcreteSubject()
observer1 = ConcreteObserver("观察者1")
observer2 = ConcreteObserver("观察者2")
subject.attach(observer1)
subject.attach(observer2)
subject.notify()
subject.detach(observer2)
subject.notify()
```