Singleton 模块

模块: borax.patterns.singleton

该模块定义了 MetaSingleton 类,以元类方式实现单例模式。

若需要实现类 A 为单例模式,只需将其元类属性设置为 MetaSingleton 即可。

  1. from borax.patterns.singleton import MetaSingleton
  2. class SingletonM(metaclass=MetaSingleton):
  3. pass

SingletonM 类的实例对象都共享相同状态和数据。如:

  1. a = SingletonM()
  2. b = SingletonM()
  3. print(id(a) == id(b)) # True