制御の反転 【IoC】 Inversion of Control
概要
制御の反転(IoC)とは、アプリケーション固有のプログラムと再利用可能な汎用的なプログラムを組み合わせてソフトウェアを構築する際、汎用プログラム側から固有プログラムを呼び出す制御方式。伝統的な制御方式とは逆転した関係になっているためこのように呼ばれる。従来型のアプリケーション開発では、開発者はアプリケーション固有の処理を記述したプログラムを作成し、そこからライブラリやモジュール、コンポーネントなどの汎用的な機能を提供するプログラムを呼び出して利用するのが一般的だった。
一方、制御が反転したアプリケーション開発では、開発者が固有の処理を記述したプログラムを、既成の汎用プログラム側から呼び出す形でソフトウェアが構成される。このような、アプリケーションの主要部を骨組みとして提供する汎用プログラムのことを「フレームワーク」(framework)という。
フレームワークによるアプリケーション開発は、ソフトウェアの全体的な構造や構成を開発者が記述することなく、既成の枠組みに固有の処理を付け足していくだけで迅速に進めることができる。何も追加していない最小の構成でも実行可能なため、出来栄えを評価しながら漸進的に機能の追加や修正を進めていくアジャイル開発にも適している。
(2023.1.23更新)