Цитирование со страницы 49 книги Pro ASP.NET MVC
Домен конечно можно поставить
логика в контроллер, хотя
Вы не должны, просто потому что это кажется
как будто все равно будет работать. Это легко
избежать этого, если вы представляете, что вы
иметь несколько технологий пользовательского интерфейса (например,
приложение ASP.NET MVC плюс
родное приложение для iPhone) работает
в той же основной бизнес-сфере
слой (и, может быть, однажды вы будете!).
Имея это в виду, ясно, что вы
не хочу помещать доменную логику в
любой из слоев пользовательского интерфейса.
Почему он, кажется, противоречит сам себе на странице 172?
[HttpPost]
public ActionResult CheckOut(Cart cart, ShippingDetails shippingDetails)
{
// Empty carts can't be checked out
if (cart.Lines.Count == 0)
ModelState.AddModelError("Cart", "Sorry, your cart is empty!");
if (ModelState.IsValid)
{
orderSubmitter.SubmitOrder(cart, shippingDetails);
cart.Clear();
return View("Completed");
}
else // Something was invalid
return View(shippingDetails);
}
Относится к: Как избежать размещения логики домена в контроллере?