设计模式之单例模式(python实现)
来源:互联网 发布:精易编程助手下载 编辑:程序博客网 时间:2024/05/29 09:34
本小节要介绍的设模式是:单例模式
个人认为,单例模式是所有的设计模式中较为简单的一个模式,但别看它简单,在实际的应用中却实使用得相当广泛。
单例模式主要被应用在这样的场景中:在程序的运行过程中始终保持一个对象。如线程池,注册表,缓存管理。这些对象如果在程序中保持多个实例,那么在程序的运行中会出现许多问题。
下面给出单例模式的一个简单定义:
确保一个类只有一个实例,并提供一个全局的访问点
说到这里,你可能会一下想到一个概念:全局变量。
的确,全局变量也可以实现一个类似于单例的功能,但全局变量在程序的一开始就会被实例化。如果这个全局变量在程序的运行过程中一次也没有被用到,那这个全局变量所占用的资源就会被白白地浪费掉。因此全局变量是无法做到申请时创建的。
好了,话不多说,看代码吧:
class Singleton(object): ''' A python style singleton ''' def __new__(cls, *args, **kw): if not hasattr(cls, '_instance'): org = super(Singleton, cls) cls._instance = org.__new__(cls, *args, **kw) return cls._instanceif __name__ == '__main__': class SingleSpam(Singleton): def __init__(self, s): self.s = s def __str__(self): return self.s s1 = SingleSpam('spam') print id(s1), s1 s2 = SingleSpam('spa') print id(s2), s2 print id(s1), s1
- 设计模式之单例模式(python实现)
- 23种设计模式之python实现--单例模式
- 设计模式之单例模式——Python实现
- 设计模式--单例模式python实现
- python 设计模式之 单例模式
- python设计模式之单例模式
- 设计模式九(单例模式,python语言实现)
- 设计模式之单例模式(C++代码实现)
- python设计模式之单例设计模式
- 5、python设计模式之单例
- 设计模式之(单例模式)
- 设计模式之(单例模式)
- java 实现设计模式之单例模式(饱汉模式和饿汉模式)
- scala实现设计模式之单例设计模式
- 设计模式之单例设计模式(饿汉单例设计模式&懒汉单例设计模式)
- 【设计模式】设计模式C++编程实现之单例模式(Singleton Pattern)
- 【设计模式】设计模式C++编程实现之单例模式(Singleton Pattern)
- 设计模式之-单例实现
- 对《移动互联网白皮书(2013年)》的几个解读
- 普通电脑U盘安装苹果系统简易方法
- oracle组件之SGA,PGA和DATABASE
- 网站SEO的主要关键点须知
- DAO方法报错但无错误信息
- 设计模式之单例模式(python实现)
- 核心论文
- 浅谈OO
- 破解周鸿祎的战术精要
- Cortex-A8-----s5pv210-----tiny210v2----学习计划
- 核心论文2
- android4.0.3隐藏statusbar
- 操作系统引论(1)
- 核心论文3