模块的依赖注入
考虑一个模块,例如some_module
,不同的模块在同一解释器进程中使用。该模块将具有单一上下文。为了使 some_module
方法正常工作,它必须接收类实例的依赖注入。
将依赖项注入到模块中的 Pythonic 且优雅的方法是什么?
Consider a module, e.g. some_module
, that various modules use in the same interpreter process. This module would have a single context. In order for some_module
methods to work, it must receive a dependency injection of a class instance.
What would be a pythonic and elegant way to inject the dependency to the module?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用全局模块。
如果没有收到,
some_module
可以使用代码来设置默认实例,或者只需将classinstance
设置为None
并检查以确保已设置当方法被调用时。Use a module global.
some_module
can have code to set up a default instance if one is not received, or just setclassinstance
toNone
and check to make sure it's set when the methods are invoked.恕我直言,成熟的
依赖注入
和所有术语更适合像Java这样的静态类型语言,在Python中你可以很容易地实现这一点,例如这里是一个简单的注入
输出:
如果您认为缺少某些内容,我们可以轻松添加它,即 python。
IMHo opinion full fledged
Dependency Injection
with all jargon is better suited to statically typed languages like Java, in python you can accomplish that very easily e.g here is a bare boneinjection
output:
If you think something is missing we can add that easily, its python.
您可以使用
dependencies
包来实现您的目标。You can use the
dependencies
package to achieve your goal.