python 3依赖项的注入
pytel-inject的Python项目详细描述
当对象图太大时
classA:def__init__(self,context:Pytel):self.b=context.bclassB:passcontext=Pytel()context.a=lazy(A)(context)context.b=lazy(B)assertcontext.a.b==context.b
使用依赖循环(通过代理对象):
classA:def__init__(self,context:Pytel):self.b=context.bclassB:def__init__(self,context:Pytel):self.a=context.acontext=Pytel()context.a=lazy(A)(context)context.b=lazy(B)(context)assertcontext.a.b==context.bassertcontext.b.a==context.a