asp.net-mvc – 我应该把我的控制器业务逻辑放在MVC3中
发布时间:2020-05-23 15:53:43 所属栏目:asp.Net 来源:互联网
导读:我明白MVC是把事情放在正确的地方,逻辑应该在哪里。我的控制器操作正在被业务逻辑(与数据存储无关)充满,我觉得我应该开始将一些逻辑移到另一个地方。 有没有一个惯例,我应该放置这个逻辑?例如,我有以下控制器位于控制器文件中: adminPowerController pu
|
我明白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 – ASP.NET MVC编辑器 – 模板/ UIHint与参数
- asp.net-mvc – ASP.NET MVC将数据从视图传递给控制器
- .net4.0中的ClientIDMode
- asp.net-mvc – ASP.NET MVC FileStreamResult不能按预期工
- asp.net – Stripe Webhook事件续订订阅
- asp.net – HTML文档到PDF?
- asp.net-mvc – EntityFramework.SqlServer未在Web发布中部
- asp.net-mvc-5 – 我需要在MVC Razor中编码属性值吗?
- 在ASP.NET应用程序之间传递会话数据
- asp.net-mvc – asp.net mvc – 视图中的命名空间
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC 3 – 将复杂的JSON模
- asp.net-mvc – 使用NHibernate时如何处理成员资
- ASP.NET错误:页面Y.ascx无法使用用户控件X.ascx
- asp.net-mvc – ASP.NET MVC 5自定义错误页面
- 远程服务器返回错误:(401)未经授权.在ASP.NET中
- asp.net-mvc – MVC 3 – Razor – 从模型打印值
- asp.net-mvc – 是否可以模拟/伪造扩展方法?
- asp.net-mvc-3 – MVC将方法添加到jquery.valida
- asp.net-mvc – 剃刀替换的优点(@href)
- asp.net-mvc – “信号量超时期限已过期”SQL Az
热点阅读
