インスタンス生成時に、依存する資源(インスタンス)をコンストラクタに渡すことで、
依存性注入(Depenency Injection)を行うべき、という内容です。
記載内容
以前性注入について
名前を知らずに多くのプログラマが使用している。
使用することで、クラスの柔軟性、再利用性、テスト可能性が大幅に向上する
Factory Methodパターン
パターンの変形として、資源のファクトリを渡すことで、Factory Methodパターンとすることもできる。
Java8で導入されたSupplierは、ファクトリを表現するのに向いている。
フレームワーク
プロジェクトの規模が大きい場合、依存性注入によりソースが複雑化してしまう可能性がある。
Dagger、Guice、Spring等のフレームワークを使用することで、
整理することが出来る。
手作業で依存性注入パターンを使用していた場合、フレームワークを容易に導入できる。
考察
Depenency Injectionは、フレームワークにより行うものというイメージが強いかもしれませんが、
コンストラクタにより手動で依存性を注入することでも、多くのメリットが有ります。
特に、テスト自動化を行う上で、処理をモックに差し替えが可能になるのが大きいです。