python单例模式Singleton
2015-01-08 09:35
281 查看
__author__ = 'sivil' #coding:utf-8 class Singleton(object): def __new__(cls, *args, **kwargs): if not hasattr(cls, '_instance'): orig = super(Singleton, cls) cls._instance = orig.__new__(cls, *args, **kwargs) return cls._instance class Mclass(Singleton): a = 2 mc = Mclass() mc2 = Mclass() print id(mc), id(mc2)#31568168 31568168 def singleton(cls, *args, **kwargs): instances = {} def _singleton(): if cls not in instances: instances[cls] = cls(*args, **kwargs) return instances[cls] return _singleton @singleton class Mclass2(object): a = 2 f = Mclass2() s = Mclass2() print id(f), id(s)#31550544 31550544
相关文章推荐
- Python和Singleton (单件)模式
- Python Singleton(单例模式)实现
- python的Singleton模式之一
- 一道题理解Python的类的成员、实例的成员、Singleton模式
- 设计模式系列Python实现(一)-单例模式(Singleton)
- python 元类型编程, 单例模式SingleTon的一种实现方式
- Python - 单例模式(Singleton)
- python Singleton 模式
- 设计模式 (python) ---> Singleton
- Python和Singleton (单件)模式[转载]
- python实践设计模式(二)Builder,Singleton,Prototype
- Python下singleton模式的实现方法
- Python - 单例模式(Singleton)(转)
- python是在Prototype模式和Singleton模式
- Python和Singleton (单件)模式
- Python中的Singleton (单件)模式
- Python中使用 metaclass 实现Singleton 模式
- Python和Singleton (单件)模式
- Python下singleton模式的实现方法
- 静态构造函数与Singleton模式在C#中的实现