python中实现Singleton模式
主要参考来自于stackoverflow
方法一:装饰器decorator
|
|
这个例子来自PEP 318 - Decorators for Functions and Methods
方法二:基类Base class
|
|
方法三:元类metaclass
|
|
方法四:用装饰器返回一个相同名字的类
|
|
其他的思考
1、利用模块来代替单例的实现,将模块看成一个Singleton,直接在里面定义方法,参考这里
这可能是the most idiomatic way。
2、Borg(共享)模式
|
|
更多讨论参考这里