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