制御の反転
オブジェクト指向プログラミングでは、制御の反転を実装するには幾つかの基本的な技法がある。それらを次に列挙する:
Factory パターンを使用する。
サービスロケータパターンを使用する。
依存性の注入を使用する。たとえば、 コンストラクタ注入 パラメータ注入 セッター注入 インタフェース注入
テンプレートメソッドパターンを利用する
ストラテジーパターンを利用する
文脈化された参照 (contextualized lookup)
マーティン・ファウラーの最初の論文では、上記の3番目までを論じていた。制御の反転の種類に関する記述の中で では最後の技法も言及されている。通常、文脈化された参照はサービスロケータを使って実装される。
技法よりも「制御の反転」をどういう目的で使うのかが重要である。「制御の反転」はこれらの技法に限ったものではない。