【发布时间】:2013-09-04 23:21:16
【问题描述】:
首先,我已经看到了很多关于这个的问题,但没有足够的理由支持。如果我的问题不够好,应该被删除,我会理解的。
例如,我查看了this,一个 45+ 投票的答案说他建议您将业务逻辑放入模型中,这听起来很合乎逻辑。
然而,我的第一个大型项目是我在控制器中完成的所有 BL,因为我没有质疑这些事情,而是在 AccountController 中查看了它是如何完成的,如果您选择 MVC表单认证。所有的方法看起来都充满了 BL。或者也许这是可以添加的最少代码量而我忽略了一些事情?
youtube 上的一个人通过将所有逻辑都放入他的模型中来问我他是否正确,起初我不是!然后我开始想,也许他是对的!?
那么,毕竟,我应该把我的业务逻辑放在哪里? 如果它是在模型类中,那么,在控制器中的方法中应该考虑多少代码是健康的?最多一行从控制器中的模型调用一些方法然后返回视图?
【问题讨论】:
-
业务逻辑进入控制器。模型逻辑进入模型。模型逻辑是专门/仅处理模型的事物。 Setter/getters/properties/adders/removers 等
-
@crush:我不同意。正如我所读到的 - “模型对象包含应用程序的数据和“业务逻辑”。“控制器对象将模型和视图对象联系在一起。”
-
@BobbyDigital - 你能提供源链接吗? :)
-
当然,它在The Big Nerd Ranch Guide 中对正确使用 MVC 的解释中,但不幸的是,您必须购买这本书才能确认这一点。
-
我会说,刚刚尝试在 C# 书中确认这一点,在 asp.net 中,业务逻辑位于中间层,顶层是 UI,中间层是控制器底部是分贝。但他们并没有具体/明确地谈论 MVC。这来自C# for Programmers :)
标签: c# asp.net-mvc model-view-controller business-logic