python的单例模式
来源:互联网 发布:淘宝店铺装修免费代码 编辑:程序博客网 时间:2024/06/18 03:45
问题描述:
在开发过程中,有一些时候我们出现如下需求。如,某个服务器程序的配置信息存放在一个文件中,程序运行中多个地方需要调用修改该文件,或者在web开发中,手写orm系统。我们也可以用单例模式来控制数据库对象的生成。
解决方案一
Python 的模块就是天然的单例模式,因为模块在第一次导入时,会生成 .pyc 文件,当第二次导入时,就会直接加载 .pyc 文件,而不会再次执行模块代码。因此,我们只需把相关的函数和数据定义在一个模块中,就可以获得一个单例对象了。
解决方案二
我们知道,装饰器(decorator)可以动态地修改一个类或函数的功能。这里,我们也可以使用装饰器来装饰某个类,使其只能生成一个实例,代码如下:
def singleton(cls, *args, **kwargs): instances = {} def _singleton(): if cls not in instances: instances[cls] = cls(*args, **kwargs) return instances[cls] return _singleton@singletonclass CMySQL(): pass
阅读全文
0 0
- Python的单例模式
- python的单例模式
- python的单例模式
- Python单例模式
- Python单例模式
- 单例模式(python)
- python单例模式
- python单例模式
- python 单例模式
- python单例模式
- python单例模式
- python单例模式
- Python 单例模式
- Python 单例模式
- Python -- 单例模式
- Python单例模式
- Python单例模式
- 单例模式--Python
- nginx配置拦截指定国家IP
- 自动售餐机深受顾客欢迎全过程只需2分钟
- maven的使用
- linux操作命令
- import static和import的区别
- python的单例模式
- Ubuntu下MariaDB数据库导入导出
- 实例趣谈框架模式 MVC、MVP 和 MVVM
- 函数重载
- 安装scikit-learn
- android导入工程小技巧
- Markdown 你真的会用吗?
- PS__色彩调整
- 比特币技术普及与新国金挖矿宝灵感来源