通过预绑定方法模式实现单例模式
什么是预绑定方法模式
预绑定方法模式是一种将对象方法绑定为函数的模式。要实现该模式,只需要一个单例对象----模块(module)
当你在python中执行import语句导入模块时,无论import执行了多少次,每个被导入的模块在内存中只会
存在一份(保存在sys.modules中)。因此要实现单例模式,只需在模块里创建一个全局对象即可:
class AppConfig:
def __init__(self):
# 省略:从外部配置文件读取配置
...
_config = AppConfig()
下一步,为了给其它模块提供好用的API,我们需要将单例对象_config的公有方法绑定到config模块上:
# file: project/config.py
_config = AppConfig()
get_database_conf = _config.get_database
reload_config = _config.reload
之后,其它模块就可以像调用普通函数一样操作应用配置对象了:
from project.config import get_database_conf, reload_config
db_conf = get_database_conf()
reload_config()
-------------------------------------------
个性签名:代码过万,键盘敲烂!!!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!