制御の反転 (IoC)
制御の流れを逆転させる原則。自分のコードがライブラリを呼ぶのではなく、フレームワークが自分のコードを呼ぶ。「ハリウッドの原則」、つまり「こちらから連絡するな、こちらから連絡する」だ。
開発者はコールバック、イベントハンドラー、インターフェースの実装を書き、それがいつ実行されるかはフレームワークが決める。依存性の注入(DI)はその具体的な一形態で、オブジェクトが自分で依存先を作る代わりに外から渡される。
React(コンポーネントは React が描画する)、Spring(コンテナが管理する Bean)、pytest(注入されるフィクスチャ)、Express のミドルウェアなどに見られる。得られるのはテストのしやすさと疎結合、失うのはコードを読むだけでは制御の流れを追いにくくなる点だ。