http://martinfowler.com/bliki/InversionOfControl.html 制御の逆転という現象は、フレームワークを拡張とするといつも現れる。 制御の逆転こそが、フレームワークをフレームワークたらしめる特徴であると考えられている場合も多い。 単純な例で考えてみよう。 ユーザーに情報を入力させるプログラムを書いていると思ってほしい。 コマンドライン入力で、情報を取得している。こんな感じだ。 #ruby puts 'What is your name?' name = gets process_name(name) puts 'What is your quest?' quest = gets process_quest(quest) この場合、書いたコードがプログラムの制御を握っている。質問の表示、入力の取得、結果の処理を行うタイミングは、これらのコードが制御