zoukankan      html  css  js  c++  java
  • 单例模式

    单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

    在python中如何实现单例模式?

    • 在类中创建私有静态字段,保存类的实例
    • 改变类的实例化方式,由类名()变成类名.instance()

    非单例模式类的实现以及访问方式

    class SqlHelper():
        pass
    
    obj1=SqlHelper()
    print id(obj1)
    obj2=SqlHelper()
    print id(obj2)

    运行结果,内存中生成了2个实例,结果如下:

    image

    单例模式实现以及访问方式

    class SqlHelper():
        __static_name=None
    
        @classmethod
        def instance(cls):
            if cls.__static_name:
                return cls.__static_name
            else:
                cls.__static_name=SqlHelper()
                return cls.__static_name
    
    
    obj1=SqlHelper.instance()
    print id(obj1)
    obj2=SqlHelper.instance()
    print id(obj2)

    运行结果,内存中生成了一个实例,结果如下:

    image

  • 相关阅读:
    spring4-2-bean配置-2-属性注入细节
    内存管理tcmalloc
    并发视频,怎么hold住高并发
    struts总结
    最近想玩的一个方向
    虚拟化技术漫谈
    陈硕的博客
    木铎
    安全编程资源-苹果
    POOL
  • 原文地址:https://www.cnblogs.com/yanhongjun/p/5360320.html
Copyright © 2011-2022 走看看