首页 > 其他 > 详细

单例模式

时间:2019-02-28 15:43:41      阅读:159      评论:0      收藏:0      [点我收藏+]

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

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

两种使用方式:

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!