Jeremy&ChadがFubuMvcプロジェクトについて投稿したとき、彼らが言及した差別化要因の1つは、「ThunderdomePrincipal」でした。
「Thunderdomeの原則」–すべてのControllerメソッドは、1つのViewModelオブジェクト(または場合によっては0のオブジェクト)を受け取り、1つのViewModelオブジェクトを返します(1つのオブジェクトが入り、1つのオブジェクトが出る)。Controllerクラスは、HttpContextに関連するものに直接公開されることはありません。その新しいIHttpContextWrapperインターフェースをモックまたはスタブするテストを作成しようとしている人々を見るほど私を泣かせるものはありません。同様に、ControllerメソッドはViewResultオブジェクトを返さず、通常、すべてのMVCインフラストラクチャから切り離されています。この戦略は、コントローラーのテストを機械的に簡単にする方法として、非常に早い段階で採用されました。それは間違いなくその目標を達成しましたが、コントローラーコードが非常に合理化されて読みやすくなりました。KaizenConfでこれがどのように機能するかを説明します。
'1つのViewModel(またはゼロ)in'アプローチの利点は何ですか?