ITをもっと
わかりやすく。
むずかしいIT用語を と
の会話でやさしく説明
📰 ITニュース解説
- AI
OpenAIが「防御専用」AIを公開 — GPT-5.4-Cyberがサイバーセキュリティの常識を変える?
AIがハッカーより賢くなるの?!
- セキュリティ
Windowsに167件の脆弱性修正パッチ — 「Patch Tuesday」って毎月何が起きているの?
毎月こんなに直してるの!?
- OpenAI
OpenAIがAI家計管理スタートアップを買収 — ChatGPTが「お金の相談相手」になる日
AIがお財布の管理もしてくれるの!?
💡 こんなコラムも
依存性注入って名前が難しそうだけど、どういう仕組みなの?
すごくシンプルだよ。あるクラスが必要とする部品(依存オブジェクト)を、自分で作らずに外からもらう、ただそれだけの話なんだ。レストランに例えると、料理人が自分で食材を畑から育てるんじゃなくて、仕入れ業者から届けてもらう感じだね。
自分で作っちゃダメなの?動くなら同じじゃない?
動くことは動くんだけど、それだと「密結合」になってしまうんだ。たとえばクラスAの中で直接クラスBをnewしていると、Bを別の実装に差し替えたいときにAのコードを書き換えなきゃいけない。仕入れ業者を変えるたびにレシピを書き直すようなものだよ。
それは大変だね…。外から渡す方法にはどんな種類があるの?
主に3つあるよ。一番よく使われるのがコンストラクタ注入で、オブジェクトを作るときに引数として渡す方法。次にセッター注入で、専用のメソッドで後から渡す。最後にインターフェース注入で、注入用のインターフェースを実装させるやり方だね。現場ではコンストラクタ注入が圧倒的に多いよ。