具有任意有效负载的对象的基于decorator的注册表

decorated-registr的Python项目详细描述


装潢登记处

Python通用注册表的实现。在

允许您无缝地创建测试、模块、dsl和rpc的注册。在

支持参数和完全类型化。在

示例

fromtypingimportList,Typefromdataclassesimportdataclassfromdecorated_registryimportRegistry,ConstructorPayloadFactory# framework/abstract.py@dataclassclassModuleConfig:init_priority:int=-1classModule:pass# framework/registry.pyapplication_module:Registry[ModuleConfig,Type[Module]]=Registry(payload_factory=ConstructorPayloadFactory(dict))# authentication_mod/impl.py@application_moduleclassAuthenticationModule(Module):pass# database_mod/impl.pu@application_module(init_priority=2)classDatabaseSessionModule(Module):pass# framework/app.pydefload_modules()->List[Module]:rtn=[]# ensure modules are loaded in the order given by `ModuleConfig.priority`modules_priority=sorted(application_module.items,key=lambdax:x.payload.init_priority)forxinmodules_priority:module_cls:Type[Module]=x.valuemodule=module_cls()rtn.append(module)returnrtn# framework/main.pydefmain():modules=load_modules()if__name__=='__main__':main()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
servlets Java EE+GlassFish:如果用户在其他地方登录,则强制用户注销   java在不更改源代码的情况下添加钩子   安卓 Java TextView Onclick()返回表达式错误   java Excel文件未使用Apache存储内部内存   java getRowCount()和getSelectedColumn()不起作用   无法在java中生成视图绑定。util。Android Gradle插件2.1的NoTouchElementException   Java中的类型转换运算符百分比计算为零   主java中的调用方法   java在Javasound中播放多个示例   java如何知道webDriver成功打开URL   java jmock,每次调用时返回新对象   eclipse使用Java在Selenium WebDriver中生成可执行文件   macos捆绑Java OS X应用程序默认为MacRoman编码   java我应该把我的休息网关变成一个图书馆吗?   java Eclipse插件:查找包含子字符串的行号无效   Java IOException:在Linux上发送UDP数据包时没有可用的缓冲区空间   java无法解析jaxbxjc2中的名称“xjc:globalJavaType”。2.52.罐子   java是否有HibernateAPI来检查是否创建了数据库?