我正在尝试了解MVC,我对于将业务逻辑放在何处感到困惑。
我构建的所有Web应用程序都使用N层架构,因此我习惯将业务逻辑和数据库交互放在他们自己的类/相应的“层”中,但是这在MVC中是如何工作的?
从我到目前为止收集的内容来看,似乎这应该全部存储在模型中?但我很困惑,因为它似乎可以很容易地存储在控制器中? Controller负责返回相应的视图..因此,所有逻辑都存储在这里是否有意义?
如果有人能在这种情况下让我了解最佳实践,我将非常感激。
谢谢!
答案 0 :(得分:5)
Controller应调用您的业务层,然后创建一个简单的POCO ViewModel
,将其传递给View
。
例如。:
UserViewModel
只有属性并将其传递给View
因为关于MVC的一个主要问题是关注分离。您应该创建一个只包含View所需数据的ViewModel,而不是逻辑。
ViewModel只是一个简单的POCO类(Plain Old CLR Object,一个只有属性,没有逻辑的类)