【问题标题】:Definition of business logic and application logic in MVC/OOPMVC/OOP中业务逻辑和应用逻辑的定义
【发布时间】:2012-09-16 08:40:23
【问题描述】:

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

业务逻辑和应用逻辑有什么区别?

看看以下支付和发票系统的场景:

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

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

  • 用户不能输入负数
  • 用户必须仅以整数或#.# 或#.## 或#.## 的形式输入输入 ##.## 等

业务逻辑(在模型中):

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

我有正确的想法吗?

【问题讨论】:

    标签: php oop model-view-controller


    【解决方案1】:

    通常,您应该将所有业务逻辑(包括用于格式化和验证的业务逻辑)放入模型中。因此,不输入负数是模型而不是控制器的重点。阅读Skinny Controller, Fat Model,也许还有使用Draper 的演示者模式。 Ryan Bates 最近在 Railscasts 上报道了相当多的此类内容。可能也很好地研究一下。

    【讨论】:

      【解决方案2】:

      业务逻辑是指不能违反您的业务流程的规则。您给出的最后两个示例是业务逻辑,因为这些规则取决于业务而不是应用程序。

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

      反正我的 2 美分。

      所以是的,你在正确的轨道上。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-03
        • 2015-11-10
        • 2011-02-19
        • 1970-01-01
        • 2021-02-24
        • 1970-01-01
        • 2010-11-30
        • 1970-01-01
        相关资源
        最近更新 更多