💉
Dependency Injection(DI)を超簡単にまとめた
はじめに
DIって、依存だの注入だの、何だか初学者には聞き馴染みのない言葉が羅列され、簡単な解説がないな。と感じていました。
ので、超簡単に概要のメモを残します。
Dependency Injection(DI)とは
オブジェクト指向のインスタンスを知っていることが前提です。
簡単に言うと、以下のルールを守るという デザインパターン(設計思想) のことです。
- 処理の中ではインスタンスの生成は行わない
- その代わり、処理に必要なインスタンスはパラメータで受け取る
- 処理に必要なインスタンスの生成は、処理の開始前[1]にまとめて行う
ただ、これだけのことなんです。簡単ですね。
Dependency Injection(DI)のメリット
よく言われるメリットは以下になります。
- 疎結合な実装が実現できる
- コードの再利用性が向上する
- テストコードの実装が容易になる
ややピンと来ない内容ですよね。
DIが理解しづらい要因のひとつだと思います。
ですが、ここを分け入ると、SOLID原則 の知識や 具体的な実装例 が必要になるため、詳細は割愛します。
もっと詳しく知りたい
世の中には色々と詳しい記事が散見されるため、そちらに譲ります。
(ですが、逆に詳細すぎたり、具体的すぎたりするので、初学者は分からなくなりがちのイメージ)
-
処理の開始前
具体的には「アプリケーション起動時」「リクエスト到着時」に大別されます。詳細は、利用するフレームワークの公式ドキュメントを参照してください。 ↩︎
Discussion