196の日記

完全に開発メモと雑談、その他忘れそうな計算式などを書き溜める場所になっています!

Dependency Injection 依存性の注入

まずここで概念を掴んで
qiita.com


このページでもう少し掘り下げると、すんなりと概要が頭に入ってきます。
itpro.nikkeibp.co.jp

ざっと掴んだ感じ、、

Aが必要とするBというものを、A内に含めずに、実行時に動的にAをBに渡そうという思考(多分)
似た挙動をAで使用する時、渡すものをBではなくCにすれば動くようにしておけば、実装も楽だしどこを変更すれば良いかもわかりやすく、なおかつ使い回しも可能でいいよねって感じ?(使い回しは副産物で、使いまわせるぐらい機能が分離されていてメンテナンスを含めて使用が行いやすいってことかな)

IDのメリットデメリット

コードが簡潔になり開発期間が短くなる <-> スタートアップ時のコード量(仕事量)が増える
階層構造が綺麗に分離された状態になる <-> クラスやファイルがたくさん生成される
特定のフレームワークへの依存が少なくなるため、柔軟になる