首页 > 其他分享 >通过预绑定方法模式实现单例模式

通过预绑定方法模式实现单例模式

时间:2022-09-07 14:46:17浏览次数:68  
标签:单例 绑定 模式 reload 模块 config

什么是预绑定方法模式

预绑定方法模式是一种将对象方法绑定为函数的模式。要实现该模式,只需要一个单例对象----模块(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()

标签:单例,绑定,模式,reload,模块,config
From: https://www.cnblogs.com/weiweivip666/p/16665364.html

相关文章

  • 原型模式
    原型模式原型接口packageprototypetypeCloneableinterface{clone()Cloneable}执行深拷贝的原型对象packageprototypetypeDeepstruct{namestr......
  • ACM模式各种输入总结 C++
    一、整型数组输入:(很简单)在终端的一行中输入固定数目的整型数字,并存到数组中,中间以空格分隔。示例:3123intn;cin>>n;vector<int>nums(n);......
  • 设计模式_单例模式
    先看个例子:公司中只能有一个老板。 定义【Boss】类,定义属性【name】。   执行结果:  总结:单例模式主要用于不同线程之间的并发访问或者通信,也可以达到节约资源......
  • 设计模式
    设计模式您是否曾经在一个团队中对如何实现某些功能没有清晰的想法?这是开发人员的常见情况,所以很多时候我们都在处理类似的功能,总是使用“对象”定义,处理表单的新屏幕,或者......
  • 【设计模式】Java设计模式 - 原型模式
    【设计模式】Java设计模式-原型模式......
  • 如何仅使用绑定将 Blob 从 Azure 存储帐户复制到另一个具有 Blob 触发功能的帐户
    如何仅使用绑定将Blob从Azure存储帐户复制到另一个具有Blob触发功能的帐户在本文中,我们将介绍一个Azure函数,该函数在源容器中创建新blob时触发,并在输出绑定的......
  • 如何在 C# 中的单例中使用作用域服务
    如何在C#中的单例中使用作用域服务简要讨论这个过程Photoby奥罗网代理on不飞溅这听起来不干净,并且缺少作用域的目的,对吧?通常,当您拥有一个作用域服务时,它只能用......
  • 设计模式-责任链模式(Java实现)
    什么是责任链模式?顾名思义,就是链式的去处理一个请求或者任务,收到请求后,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。应用场景一个请求需要多种类型......
  • 如何结合整洁架构和MVP模式提升前端开发体验(二) - 代码实现篇
    上一篇文章介绍了整体架构,接下来说说怎么按照上图的分层结构实现下面的增删改查的功能。代码结构vueuserManage└──List├──api.ts├──EditMo......
  • mysql 主备模式搭建过程
    MySQL主备搭建1.主库配置以下所有操作均在主服务器上执行1)创建用户并授权createuserslaveidentifiedwithmysql_native_passwordby'123456'mysql>GRANTREPLICA......