首页 > 其他分享 >常见的设计模式-单例模式

常见的设计模式-单例模式

时间:2022-08-26 17:16:54浏览次数:65  
标签:__ args instance 常见 instances 单例 设计模式 cls

简述

实现了类在当前进程中只有一个实例,比如python-GC

重写__new__实现单例

class A:

    def __new__(cls, *args, **kwargs):

        if not hasattr(cls, '_instance'):
            cls._instance = super().__new__(cls, *args, **kwargs)
        return cls._instance
    pass
if __name__ == '__main__':
    a = A()
    b = A()
    print(id(a))
    print(id(b))

装饰器实现

def singleTon(cls, *args, **kw):

  instances = {}
  def inner():
    if cls not in instances:
      instances[cls] = cls(*args, **kw)
    return instances[cls]
  return inner

@singleTon
class A:
  pass

标签:__,args,instance,常见,instances,单例,设计模式,cls
From: https://www.cnblogs.com/aleiyoy/p/16628170.html

相关文章

  • 1.单例模式
    1.单例模式单例,顾名思义是一个实例,即在一个项目之中,单例的类只实例化一次。它常常应用于数据库操作、日志函数。在一个大型项目中使用到日志和数据库操作的地方很多,不能......
  • 设计模式之工厂模式
    packagecn.com.pep.model.simpleFactory;/***@Title:CheesePizza*@Description:*@authorwwh*@date2022-8-2214:22:53*/publicclassCheesePiz......
  • Python中常见的异常类型
    #Python常见的异常类型'''第一种数学数据异常'''#print(1/0)#ZeroDivisionError'''第二种,序列中没有这个索引'''lst=[11,22,33]#print(lst[3])#IndexError'''第......
  • 【AGC】【云数据库】云数据库常见问题
    ​1、【问题描述】是否可以添加支持kotlin文件的导出功能?​【解决方案】目前,我们没有这样的开发议程,因为有对Java的支持。 2、【问题描述】咨询一下云数据关联......
  • 【付费推广】常见问题合集,主子任务结构
    主子任务结构Q1:主子任务结构是什么?付费推广平台统一任务结构,区分主子任务,在子任务维度设置人群包、关键词、影子投放目标应用、oCPD转化目标。具体的介绍可参考学习《投......
  • 【华为账号服务】【FAQ】Account Kit常见咨询合集--登录相关问题
    ​1、开发者有自己的帐号管理,是否可以接入华为帐号?可以,很多应用都有三方帐号登录功能,这是个很常见的场景。 2、是否有办法在不下载HMSCore(APK)的情况下,实现华为帐号授......
  • 初识设计模式 - 单例模式
    简介一个类只允许创建一个对象(或实例),那么这个类就是一个单例类,这种设计模式称作单例设计模式(SingletonDesignPattern),简称单例模式。单例模式保证系统内存中只存在一个......
  • selenium元素定位和常见操作
    selenium元素定位和常见操作一、selenium的元素定位:name定位,id定位,class定位,标签定位,链接文本定位,部分链接文本定位,xpath定位,css定位在进行元素定位前,先要安装selenium......
  • 单机版软件的授权控制常见方法
    通常,单机版的软件具有可复制性,复制出来的程序也能够安装、使用。作为软件的拥有者,在将程序交给客户以后,很难限制用户的安装使用,难以监控是否是自己授权过的用户,于是有......
  • python中常见的几个函数
    functionuselen()用来求元组利润表或者字符串等的长度str()将数据转化成字符串类型......