加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 数据库交互/业务逻辑在MVC中发生在哪里?

发布时间:2020-12-16 06:24:09 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试了解MVC,我对于在哪里放置业务逻辑感到困惑. 我构建的所有Web应用程序都使用了N层架构,因此我习惯将业务逻辑和数据库交互放在他们自己的类/各自的“层”中,但是这在MVC中是如何工作的? 从我到目前为止收集的内容来看,这应该都存储在模型中?但我
我正在尝试了解MVC,我对于在哪里放置业务逻辑感到困惑.

我构建的所有Web应用程序都使用了N层架构,因此我习惯将业务逻辑和数据库交互放在他们自己的类/各自的“层”中,但是这在MVC中是如何工作的?

从我到目前为止收集的内容来看,这应该都存储在模型中?但我很困惑,因为它似乎可以很容易地存储在控制器中? Controller负责返回相应的View ..所以在这里存储所有逻辑是否有意义?

如果有人能在这种情况下让我了解最佳实践,我将非常感激.

谢谢!

解决方法

Controller应调用您的业务层,然后创建一个简单的POCO ViewModel将其传递给View.

例如.:

>您的Controller调用BusinessLayer以从数据库获取用户.
>他找回了一个带有逻辑的用户模型.
>然后他创建了一个UserViewModel,它只有属性并将其传递给View

因为关于MVC的一个主要问题是分离关注.您应该创建一个只包含View所需数据的ViewModel,而不是逻辑.

ViewModel只是一个简单的POCO类(Plain Old CLR Object,一个只有属性,没有逻辑的类)

更多信息

> Wikipedia – Model–view–controller
> ASP.NET MVC
> ASP.NET MVC View Model Patterns
> ASP.NET MVC Tip #50 – Create View Models
> What is POCO?
> Use ViewModels to manage data & organize code in ASP.NET MVC applications

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读