ASP.NET MVC更适合撰写视图模型

本文关键字:视图 模型 NET MVC ASP | 更新日期: 2023-09-27 18:35:29

我有典型的MVC解决方案,其中包含模型的下一个项目:

  • 解决方案.模型
  • 解决方案.视图模型

例如产品控制器

public ActionResult Index(int productId)
{
   Model.Product product = context.Products.GetById(productId);
   ViewModel.ProductViewModel productVM = new ProductViewModel();
   productVM.Title =  product.Title;
   ...
}

显然,控制器不适合组合视图模型我看到几个如果选项:

  • 视图模型的构造函数
  • 通过自动机在控制器中组合
  • 独立可控

什么是最佳实践?

ASP.NET MVC更适合撰写视图模型

    业务模型
  1. 不应依赖于视图模型(即在业务逻辑层中填充视图模型)
  2. ViewModel 不应该依赖于业务模型(即在 ViewModel 的构造函数中从模型填充 ViewModel)
模型

和视图模型应该相互独立!

因此,控制器是"连接"视图模型和模型的"层"。我建议为此目的使用自动映射器