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;
...
}
显然,控制器不适合组合视图模型我看到几个如果选项:
- 视图模型的构造函数
- 通过自动机在控制器中组合
- 独立可控
什么是最佳实践?
- 业务模型
- 不应依赖于视图模型(即在业务逻辑层中填充视图模型)
- ViewModel 不应该依赖于业务模型(即在 ViewModel 的构造函数中从模型填充 ViewModel)
和视图模型应该相互独立!
因此,控制器是"连接"视图模型和模型的"层"。我建议为此目的使用自动映射器