The observer pattern is a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods. “观察者模式”:被观察者对象通过一个列表维护观察者对象的行为(方法),当被观察者对象状态改变时会主动呼叫(调用)观察者对象行为(方法)。 PS:观察者模式有时又被称为发布(publish)-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式。 12345678910111213141516171819202122232425 '''Python示例代码,来自网络'''class : def __init__(self): self.__observers = [] def register_observer(self, observer): self.__observers.append(observer) def notify_observers(self, *args, **kwargs): for observer in self.__observers: observer.notify(self, *args, **kwargs)class Observer: def __init__(self, observable): observable.register_observer(self) def notify(self, observable, *args, **kwargs): print('Got', args, kwargs, 'From', observable)subject = Observable()observer = Observer(subject)subject.notify_observers('test') 赞微海报分享
近期评论