python的依赖注入
gluer的Python项目详细描述
胶粘机
python依赖注入
安装
gluer使用type annotations,因此需要python 3.6+。
python3 -m pip install --user gluer
使用量
让我们跟随di的wonderful explanation:
fromabcimportABC,abstractmethodfromgluerimportGluerclassDrink(ABC):# this doesn't *have* to be abstract@abstractmethoddefsip(self):passclassChild:def__init__(self,drink:Drink):self.drink=drinkdeftake_a_sip(self):self.drink.sip()print("ahhh")classJuice(Drink):defsip(self):print("*gulp*")classCoke(Drink):defsip(self):print("*fizzle*")if__name__=="__main__":gluer=Gluer()mom_watches=Truegluer.register(Child)gluer.register(Juiceifmom_watcheselseCoke).As(Drink)container=gluer.build()kid=container.resolve(Child)kid.take_a_sip()# *gulp* ahhh