我正在学习MVC和OOP,但有些事让我感到困惑:
业务和应用程序逻辑之间有什么区别?
查看付款和发票系统的以下情况:
客户已开具发票,当他们支付发票时,会通过屏幕上的付款确认。用户将他们从客户收到的金额输入系统。
现在,应用程序逻辑如下(在控制器中):
业务逻辑(在模型中):
我有正确的想法吗?
答案 0 :(得分:1)
通常,您应该将所有业务逻辑(包括用于格式化和验证的逻辑)放入模型中。因此,不输入负数是模型的焦点,而不是控制器。阅读Skinny Controller, Fat Model和使用Draper的演示者模式。 Ryan Bates最近在Railscasts报道了相当数量的这些东西。也可能很好地研究它。
答案 1 :(得分:0)
业务逻辑意味着不会违反业务流程的规则。您提供的最后两个示例是业务逻辑,因为这些规则取决于业务而非应用程序。
应用程序逻辑是与业务无关的逻辑。例如,确保强制执行前两个规则,因为它们会违反您列出的后两个规则。
反正我2美分。
是的,你走在正确的轨道上。