DIコンテナ
https://gyazo.com/d71a09f5412a16c8ec6697fca5916522
依存関係のあるオブジェクト郡の生成処理は複雑なので、DI(DependencyInjection:依存性注入)を用いると、複雑なオブジェクト生成をクラスから分離できる。
DIによるオブジェクト生成の役割を担うオブジェクトをDIコンテナと言う。
DIコンテナは生成したオブジェクトのライフサイクル管理も行う
通常のファクトリパターンは、個々のクラスのオブジェクト生成を隠蔽するが、DIコンテナは依存関係のあるオブジェクトの生成を一括して隠蔽する
外部ファイルやアノテーション、命名規約で必要なオブジェクトの情報をDIコンテナに渡し、DIコンテナはリフレクションを用いてオブジェクト生成の準備をする。
DIコンテナが依存関係のあるオブジェクトの生成を隠蔽して実施する事を外部から依存性を注入すると呼ぶ
飲み込めていないので転記
#アルゴリズム