(触りたい)python-dependency-injector
https://github.com/ets-labs/python-dependency-injector
https://python-dependency-injector.ets-labs.org/introduction/di_in_python.html
What is dependency injection?
main関数を実行
Service()と初期化して、serviceのclient属性にAPIClientが初期化される
APIClient初期化時に環境変数API_KEYとTIMEOUTが読まれる
main関数にServiceインスタンスを渡すように変える(注入できる状態)
APIClient初期化時にapi_keyとtimeoutも渡す(環境変数から読み取った値を渡す)
(理解:外から渡せるようにすることで、いつでも差し替えられるようになった!)
What does the Dependency Injector do?(積ん読)
@injectの例
dependency is injected automatically
Containerを定義しておくことで、設定するだけで自動で依存性が注入される、ということ?
自動注入はSpring Frameworkっぽい