はじめに こんにちは、majimaccho です。 読者の皆さんは最近、DI(Dependency Injection:依存の注入)してますでしょうか。 DI は素晴らしい仕組みである一方で全く DI しない Ruby on Rails のようなフレームワークが支配的な時代もありました。 それでも DI は今でも有用な考え方として残っている中で、DI にどう向き合っていけばいいのでしょうか。自分なりに考えをまとめるために調べてみたので、同じような疑問を持っている方に参考になれば幸いです。 TL;DR 単純にコード量が増加することに加え、DI の仕組み自体が複雑さを内包しているので開発生産性が低くなることがあります。そのため、DI は言語によっては局所的かつ限定的に利用する方が良い場合があります。 いくつかの工夫によって DI が持つメリットを享受しつつ、不要な複雑さを排除して、シンプルかつ