ソフトウェア開発において、オブジェクト間の依存関係を外部から注入する設計パターン。制御の反転を実現する手法。
「IoC」を星図で探索する →
「IoC」とは?意味を解説
Inversion of Controlの略。従来プログラムが自ら必要なオブジェクトを生成・管理するのに対し、外部のコンテナやフレームワークがその制御を担当する考え方。依存性注入(DI)と密接に関連し、モジュール間の結合度を低下させ、テストや保守性を向上させるソフトウェア設計原則。
例文
- SpringはIoCコンテナとしてBeanの生成と管理を自動で行う。
- IoCを導入することでユニットテストが容易になり、モック化が簡単。
- IoCパターンにより、設定ファイルだけでオブジェクトの振る舞いを変更できる。
語源・由来
2000年代初頭にMartin Fowlerらが提唱した概念。制御フローが従来の命令型プログラミングから逆転することに由来。エンタープライズ向けJavaフレームワークの発展とともに広がった。
英語で言うと
Inversion of ControlIoC containerDependency Injection
「IoC」との違いを比較する
似た言葉との違い・使い分けを解説しています。
「IoC」をもっと知る本
この言葉やそのテーマを深めたい方へ。
語彙の星雲で「IoC」を探索する →