Php MVC/OOP中业务逻辑和应用逻辑的定义

Php MVC/OOP中业务逻辑和应用逻辑的定义,php,oop,model-view-controller,Php,Oop,Model View Controller,我正在学习MVC和OOP,但有些东西让我感到困惑: 业务逻辑和应用程序逻辑之间有什么区别? 请看一下支付和开票系统的以下场景: 客户开具发票,当他们支付发票时,通过屏幕上的付款确认。用户将从客户处收到的金额输入系统 现在,应用程序逻辑如下(在控制器中): 用户不能输入负数 用户必须仅以整数或#.#或#.###或#的样式输入输入 ##.##等 业务逻辑(在模型中): 输入的金额不能超过发票上的金额(即 到期日) 和/或输入的金额不能超过所欠金额(如果部分 以前已付款 我的想法正确吗?通常,

我正在学习MVC和OOP,但有些东西让我感到困惑:

业务逻辑和应用程序逻辑之间有什么区别?

请看一下支付和开票系统的以下场景:

客户开具发票,当他们支付发票时,通过屏幕上的付款确认。用户将从客户处收到的金额输入系统

现在,应用程序逻辑如下(在控制器中):

  • 用户不能输入负数
  • 用户必须仅以整数或#.#或#.###或#的样式输入输入 ##.##等
业务逻辑(在模型中):

  • 输入的金额不能超过发票上的金额(即 到期日)
  • 和/或输入的金额不能超过所欠金额(如果部分 以前已付款

我的想法正确吗?

通常,您应该将所有业务逻辑,包括用于格式化和验证的逻辑,放入模型中。因此,不输入负数是模型的重点,而不是控制器的重点。请仔细阅读,也许可以使用演示者模式。Ryan Bates最近已经报道了很多这方面的内容。这可能也很好。

通常,您应该将所有业务逻辑,包括用于格式化和验证的逻辑,放入模型中。因此,不输入负数是模型的重点,而不是控制器的重点。请仔细阅读,也许可以使用演示者模式。Ryan Bates最近已经报道了很多这方面的内容。这可能也很好。

业务逻辑意味着不能违反业务流程的规则。最后两个示例是业务逻辑,因为这些规则依赖于业务而不是应用程序

应用程序逻辑是与业务无关的逻辑。例如,确保执行前两条规则,因为它们会违反您列出的后两条规则

反正我的2美分


因此,是的,您走在了正确的轨道上。

业务逻辑意味着不能违反您的业务流程的规则。最后两个示例是业务逻辑,因为这些规则依赖于业务而不是应用程序

应用程序逻辑是与业务无关的逻辑。例如,确保执行前两条规则,因为它们会违反您列出的后两条规则

反正我的2美分

因此,是的,你在正确的轨道上