📅  最后修改于: 2023-12-03 14:39:04.277000             🧑  作者: Mango
Akamecurpose是一个轻量级且易于使用的Python依赖注入框架,它可以让你的项目更容易地实现模块化和可扩展性。
你可以通过pip安装Akamecurpose:
pip install Akamecurpose
@inject
修饰构造函数,注入所需的依赖:from Akamecurpose import inject
class Foo:
@inject
def __init__(self, bar):
self.bar = bar
def hello(self):
print('Hello, ' + self.bar.name + '!')
@singleton
修饰:from Akamecurpose import singleton
@singleton
class Bar:
def __init__(self):
self.name = 'Akamecurpose'
Container
实例,并将需要注入的依赖添加到容器中:from Akamecurpose import Container
container = Container()
container.bind(Bar)
get
方法从容器中获取需要注入的类实例:foo = container.get(Foo)
foo.hello() # Hello, Akamecurpose!
Akamecurpose支持以下几种注入方式:
Akamecurpose支持以下几种注入场景:
bind
方法将依赖注入到容器中,可以使用别名和标记来进行标识和区分。Container
实例的spawn
方法可以创建一个子容器,从而实现更灵活更紧凑的依赖注入。Container
实例的context
方法可以实现作用域依赖注入,从而更好地控制依赖的生命周期。Container
实例的configure
方法可以进行更加灵活的依赖注入配置,实现更加复杂的依赖注入场景。@provider
装饰器定义一个提供者,以能够动态生成对象@injector
装饰器定义一个注入器,以能够动态注入对象查看Github官方页面获取更多信息。
import Akamecurpose