************************ 设计模式 ************************ Mixin类 ======================= 委托模式,伪代码如下: .. code-block:: python class VoiceMixin: def words(self, something): print("voice: %s" % something) return "voice: %s" % something class Dog(VoiceMixin): def __init__(self): pass if __name__ == '__main__': dog = Dog() dog.words('汪汪汪') .. note:: Mixin类应该是单一职责的 抽象模式 =============================== :doc: https://docs.python.org/zh-cn/3/library/abc.html .. code-block:: python from abc import ABCMeta, abstractmethod class MyABC(metaclass=ABCMeta): @abstractmethod def my_abstract_method(self): pass @classmethod @abstractmethod def my_abstract_classmethod(cls): pass @staticmethod @abstractmethod def my_abstract_staticmethod(self): pass @property @abstractmethod def my_abstract_property(self): pass @my_abstract_property.setter @abstractmethod def my_abstract_property(self, val): pass