Python 监听模式 抽象基类备忘

2021-03-13  本文已影响0人  Curious1990
import time

from abc import ABCMeta, abstractmethod


class Observable:
    """被观察者"""

    def __init__(self):
        self.__observers = []

    def attch(self, observer):
        self.__observers.append(observer)

    def detach(self, observer):
        self.__observers.remove(observer)

    def notify(self, object):
        for observer in self.__observers:
            observer.update(self, object)


class Observer(metaclass=ABCMeta):
    """观察者基类"""

    @abstractmethod
    def update(self, observable, object):
        pass
上一篇 下一篇

猜你喜欢

热点阅读