做网站 分类搜索,站长之家网站介绍,牛推网,我要下载百度观察者模式是一种行为设计模式#xff0c;用于定义对象之间的一对多依赖关系#xff0c;当一个对象的状态发生变化时#xff0c;所有依赖它的对象都会得到通知并自动更新。
from abc import ABC, abstractmethod
from typing import Listclass Observable:def __init__(sel…观察者模式是一种行为设计模式用于定义对象之间的一对多依赖关系当一个对象的状态发生变化时所有依赖它的对象都会得到通知并自动更新。
from abc import ABC, abstractmethod
from typing import Listclass Observable:def __init__(self):self._observers: List[Observer] []def add_observer(self, observer):self._observers.append(observer)def remove_observer(self, observer):self._observers.remove(observer)def notify_observers(self, message):for observer in self._observers:observer.update(message)class Observer(ABC):abstractmethoddef update(self, message):passclass ConcreteObservable(Observable):def update_state(self, new_state):self.notify_observers(new_state)class ConcreteObserver(Observer):def __init__(self, name):self.name namedef update(self, message):print(f{self.name} received message: {message})if __name__ __main__:observable ConcreteObservable()observer1 ConcreteObserver(Observer 1)observer2 ConcreteObserver(Observer 2)observable.add_observer(observer1)observable.add_observer(observer2)observable.update_state(New State)