gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:22:43 24 4
gpt4 key购买 nike

我正在尝试了解 MVC,但我对将业务逻辑放在哪里感到困惑。

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

从我到目前为止收集到的信息来看,似乎这一切都应该存储在模型中?但我很困惑,因为它似乎可以很容易地存储在 Controller 中? Controller 负责返回适当的 View ..那么所有逻辑都存储在这里不是有意义吗?

如果有人能给我在这种情况下的最佳实践的想法,我将非常感激。

谢谢!

最佳答案

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

例如:

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

因为 MVC 的一大特点是关注点分离。您应该创建一个 ViewModel,其中仅包含 View 需要的数据,没有逻辑。

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

更多信息

关于asp.net - MVC 中数据库交互/业务逻辑发生在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9309971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com