サンダードームの原理(1つのオブジェクトが入り、1つのオブジェクトが離れる)の基本的な考え方は知っていますが、asp.netmvcで実際の例を見ることはありませんでした。サンダードームの原理の良い例ですか
public ActionResult Index(Employee employee)
{
//some actions here
return View(employeeViewModel);
}
しかし、ステートメントはどうですか
Controllerクラスは、HttpContextに関連するものに直接公開されることはありません。
アクション呼び出し元はどのように見えるべきですか?その例と単体テストをいくつか提供していただけますか?
http://codebetter.com/blogs/jeremy.miller/archive/2008/10/23/our-opinions-on-the-asp-net-mvc-introducing-the-thunderdome-principle.aspxから
「Thunderdomeの原則」–すべてのControllerメソッドは、1つのViewModelオブジェクト(または場合によっては0のオブジェクト)を受け取り、1つのViewModelオブジェクトを返します(1つのオブジェクトが入り、1つのオブジェクトが出る)。Controllerクラスは、HttpContextに関連するものに直接公開されることはありません。その新しいIHttpContextWrapperインターフェースをモックまたはスタブするテストを作成しようとしている人々を見るほど私を泣かせるものはありません。同様に、ControllerメソッドはViewResultオブジェクトを返さず、通常、すべてのMVCインフラストラクチャから切り離されています。この戦略は、コントローラーのテストを機械的に簡単にする方法として、非常に早い段階で採用されました。
しかし、私はこれを行う方法を知りたいですか?そのようなコントローラーアクション呼び出し元を作成する方法は?通常、httpcontextをモックする必要があるため