Official Sponsor

社内IT・情シス業務でお困りですか? 月額1,650円〜の情シス代行「Lapis Tech」

無料相談・IT診断はこちら
プログラミング 2026-04-09

IT用語: 依存性の注入(DI)とは|テストしやすいコードを書く設計原則

クラスが依存するオブジェクトを外部から渡す「依存性の注入(Dependency Injection)」の概念とテスタビリティへの効果を解説。

依存性の注入(DI)とは

依存性の注入(Dependency Injection)は、クラスが必要とするオブジェクト(依存性)を、クラス内部で生成するのではなく外部から渡す設計パターンです。SOLID原則のD(依存性逆転の原則)を実現する手段として使われます。

DIを使わない問題

class OrderService {
  constructor() {
    this.db = new PostgreSQLDatabase(); // 内部でDBを直接生成
  }
}
// → テスト時にも本物のDBが必要になる

DIを使った改善

class OrderService {
  constructor(db) {  // 外部から注入
    this.db = db;
  }
}

// 本番: 本物のDB
const service = new OrderService(new PostgreSQLDatabase());

// テスト: モックに差し替え可能
const service = new OrderService(new MockDatabase());

DIコンテナ

TypeScriptではInversifyJS・NestJSのDIコンテナ等が依存関係の管理を自動化します。大規模アプリケーションでは依存関係の木構造をコンテナが解決します。

おすすめの高速レンタルサーバー PR
🎓

ITスキルを動画でマスター

\ 新規受講生 割引実施中 /

React、AWS、Pythonなど、現役エンジニアから直接学べる世界最大級の動画講座。

人気のコースを見る

PR: スポンサーリンク

法人・個人向けサポート 受付中

インフラ構築やトラブル対応で お困りではありませんか?

AWSの構築、社内ネットワーク(VPN/NW)の改善、その他原因不明のITトラブルまで、現役インフラエンジニアが直接サポートします。単発でのご相談や、毎月のスポット顧問契約も可能です。

Sponsored Link

バグ・要望を報告する