美文网首页
Python设计模式 之 Borg模式

Python设计模式 之 Borg模式

作者: Gascognya | 来源:发表于2020-11-25 14:54 被阅读0次
class Borg:
    __common_state = {}

    def __new__(cls, *args, **kwargs):
        instance = super().__new__(cls, *args, **kwargs)
        instance.__dict__ = Borg.__common_state
        return instance

Borg模式 是单例模式在python中的变种。传统单例模式在python中,存在继承兄弟类之间状态隔离的问题。

Bory模式 将全部实例,与子类的全部实例。共用同一个__ dict __。这样保证了所有实例状态的一致性。这同样属于单例模式的理念

class BorgChild(Borg):
    pass


class BorgChildTwo(Borg):
    pass


if __name__ == '__main__':
    father = Borg()
    child = BorgChild()
    child2 = BorgChildTwo()

    child.a = 10
    print(child.a)
    print(child2.a)
    print(father.a)

10
10
10

相关文章

  • Python设计模式 之 Borg模式

    Borg模式 是单例模式在python中的变种。传统单例模式在python中,存在继承兄弟类之间状态隔离的问题。 ...

  • Borg和单例模式

    Borg和单例模式 标签(空格分隔): python 设计思想 blog Star Trek的Borg种族。由Bo...

  • Python:borg模式

    borg是使用共享属性实现的。 这种模式下,每个实例的属性字典由类字典代理,每个实例均可操作类字典

  • iOS设计模式之美-适配器模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-抽象工厂模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-工厂模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-生成器模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • 设计模式演变过程

    基本设计模式之MVC模式 基本设计模式之MVP模式 基本设计模式之MVVM模式 SPA和MPA SPA:单页面应用...

  • Android 设计模式之简单工厂模式

    设计模式系列文章 Android 设计模式之单例模式 Android 设计模式之Builder模式 Android...

  • iOS设计模式(三)之抽象工厂模式

    设计模式系列传送门 iOS设计模式(一)之简单工厂模式iOS设计模式(二)之工厂模式iOS设计模式(三)之抽象工厂...

网友评论

      本文标题:Python设计模式 之 Borg模式

      本文链接:https://www.haomeiwen.com/subject/rirniktx.html