asp.net-mvc – 我需要在哪一层编写代码

我有一个由几层组成的解决方案:controller>服务>商业>知识库

我正在学习MVC,所以我尽可能地尝试遵循最佳实践.我认为控制器必须尽可能轻.假设我的控制器中有一个Edit动作,接收相应视图发布的视图模型.此视图模型是模型对象中包含的数据的减法.

我必须使用此视图模型实现的目标:

>(1)检索关联的对象模型
>(2)将我的视图模型映射到我的对象模型中(为了获得更新和完整的对象)
>(3)保存此更新的对象
>(4)准备要在视图中显示的通知
>(5)返回另一个视图

我的问题:我在哪里编写所有这些东西?

在我看来,点1,2,3必须在业务层中完成,而点4和5必须在控制器层中完成.

你确定吗?

谢谢.

最佳答案 >存储库具有数据访问逻辑.

>业务层将使用存储库来持久化对象

>业务层将检查业务规则,发送电子邮件等.大多数逻辑都在这里.

> Controller只使用Business层来执行功能.

服务类是我所称的业务层.如果您指的是Web服务,则表示Web服务的类应在内部调度对您的实际Business类的调用,否则您不需要在Business和Controller之间使用中间Service类.

点赞