单例模式

2019-02-28 07:51:43来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

单例模式:永远用一个对象的实例

使用时遵循规则 :创建的对象跟对象之间内部封装的值是一模一样的,则没必要创建多个对象

两种使用方式:

1. low版单例: 缺点调用方式变化 Foo().get_instance()

class Foo(object):
    instance = None 
    def _init_(self):
       pass
    @classmethod
    def get_instance(cls):
        if 
            return Foo.instance
        else:
            Foo.instance = Foo()
            return Foo.instance                          

2. 高级版: 基于 __new__ 方法实现的单例模式

class Foo(object):
    __instance = None

    def __init__(self):
        pass
    
    def __new__(cls,*args,**kwargs):
        if not cls.__instance:
      obj = object.__new__(cls,*args,**kwargs)
      cls.__instance = obj
      return cls.__instance

  

 


原文链接:https://www.cnblogs.com/myzz/p/10450684.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python开发之pip使用详解

下一篇:Ubuntu 16.04 装机后的配置要点