对MVC中跨层构建器模式的建议

时间:2014-05-06 14:38:21

标签: c# asp.net-mvc asp.net-mvc-4 n-tier-architecture

我有一个用MVC作为演示文稿的n-tired应用程序。视图是一个像向导一样操作的表单。当用户在每个向导步骤中单击下一步时,我希望从服务层中处理的步骤中收集信息。

我目前设置的是:

  1. 用户在查看
  2. 中提交当前步骤
  3. 控制器接受当前视图的模型
  4. 使用 AutoMapper
  5. 将模型转换为DTO
  6. 将DTO传递给服务方法以在DTO上执行必要的处理
  7. 将DTO转换回其视图模型重定向到下一步。
  8. 代码类似于:

    public DemoController
    {
        private readonly IService _service;
    
        public DemoController(IService service)
        {
            _service = service;
        }
    
        [HttpPost]
        public ActionResult Next(ViewModel model, int value)
        {
            var dto = Mapper.Map<DTO>(model);
            _service.ProcessNext(dto, value);
            model = Mapper.Map<ViewModel>(dto);
            return RedirectToAction("NextStepAfterThis");
        }  
    }
    

    是否有更优雅的方式来实现这一结果?

0 个答案:

没有答案