博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python实现单例模式
阅读量:4189 次
发布时间:2019-05-26

本文共 1073 字,大约阅读时间需要 3 分钟。

目录


 

单例模式

单例模式是最简单的设计模式之一,它提供了创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。即多次创建一个类的对象,得到的对象的存储地址永远与第一次创建对象的存储地址相同。

 

实现原理

使用装饰器和字典来实现单例模式。

 

实现

def fun(cls):    instance = {}    def wapper(*args, **kwargs):        if cls not in instance:            instance[cls] = cls(*args, **kwargs)        return instance[cls]    return wapper@funclass Demo(object):    pass

 

测试

def fun(cls):    instance = {}    def wapper(*args, **kwargs):        if cls not in instance:            instance[cls] = cls(*args, **kwargs)        return instance[cls]    return wapper@funclass Demo(object):    passif __name__ == '__main__':    for i in range(10):        d = Demo()        print(d)

运行结果:

<__main__.Demo object at 0x10236d668><__main__.Demo object at 0x10236d668><__main__.Demo object at 0x10236d668><__main__.Demo object at 0x10236d668><__main__.Demo object at 0x10236d668><__main__.Demo object at 0x10236d668><__main__.Demo object at 0x10236d668><__main__.Demo object at 0x10236d668><__main__.Demo object at 0x10236d668><__main__.Demo object at 0x10236d668>

生成的10个Demo实例其实指向一个地址,本质上是一个实例。

转载地址:http://adsoi.baihongyu.com/

你可能感兴趣的文章
Windows 2003系统优化技巧
查看>>
Linux NFS服务器性能优化
查看>>
FREEBSD升级及优化全攻略
查看>>
RISC架构服务器开源运动将促使市场需求提升
查看>>
IT治理的成功要诀
查看>>
中化CIO彭劲松:IT治理让我明明白白做事
查看>>
中国惠普公司企业计算及专业服务集团卫东:IT治理最重要就是保证技术与业务有效结合
查看>>
【MVP】 Wenzhong Huang 北大硕士,微软MVP,微软嵌入式讲师,MCSE
查看>>
解析ERP部署的三角模型
查看>>
百感交集:一个IT人应该如何面对失业?
查看>>
服装经营中关于直销、加盟、代理和联营的区别
查看>>
盯上好男人 服装业B2C暗战
查看>>
局域网内部管理行为应该如何控制?
查看>>
CIO--成,获得认可;败,危及部门生存
查看>>
ERP专家童継龙:ERP从神秘少女变成邻家小妹
查看>>
Palm之祭
查看>>
两种不同的Web应用
查看>>
.Net多线程总结(一)
查看>>
让 ASP.NET MVC 支持 HotSwap
查看>>
Http请求处理流程
查看>>