asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – 我应该把我的控制器业务逻辑放在MVC3中大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我明白MVC是把事情放在正确的地方,逻辑应该在哪里。我的控制器操作正在被业务逻辑(与数据存储无关)充满,我觉得我应该开始将一些逻辑移到另一个地方。

有没有一个惯例,我应该放置这个逻辑?例如,我有以下控制器位于控制器文件中:

adminPowerController 

  public ActionResult Create(String test1)
    // business logic
    // business logic
    // business logic
    return View();
  }
  public ActionResult Index(String test1)
    // business logic
    // business logic
    // business logic
    return View();
  }

解决方法

将业务逻辑推荐的地方放在服务层中。所以你可以定义一个代表业务操作的界面:
public interface IMyservice
{
    DomainModel SomeOperation(String input);
}

然后实施这项服务。最后控制器会使用它:

public class MyController: Controller
{
    private readonly IMyservice _service;
    public class MyController(IMyservice servicE)
    {
        _service = service;
    }

    public ActionResult Create(String input)
    {
        var model = _service.SomeOperation(input);
        var viewModel = Mapper.Map<DomainModel,ViewModel>(model);
        return View(viewModel);
    }
}

并配置您的DI框架以将服务的正确实现传递到控制器中。

备注:在我提供的例子中,我使用AutoMapper将域模型转换为传递给视图的视图模型。

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc – 我应该把我的控制器业务逻辑放在MVC3中全部内容,希望文章能够帮你解决asp.net-mvc – 我应该把我的控制器业务逻辑放在MVC3中所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。