【问题标题】:application logic vs business logic应用程序逻辑与业务逻辑
【发布时间】:2015-11-10 00:13:40
【问题描述】:

当我试图辨别应用程序逻辑和业务逻辑之间的区别时,我发现了一组文章,但不幸的是它们之间存在矛盾。

Here他们说他们是一样的,但是here的答案却完全不同。

对我来说,我是这样理解的:

如果我们在谷歌中查找Logic这个词的定义,我们会得到

构成元素排列的系统或原则集 计算机或电子设备,以执行指定的任务。

因此,如果逻辑是set of principles underlying the arrangements of elements,那么业务逻辑应该是set of principles underlying the arrangements of the business rules,换句话说,这意味着要让系统反映您的业务需求,应遵循的规则。

而对我来说应用逻辑是the principles that the application based on,换句话说,如何应用这些规则来获得一个反映你业务需求的系统,例如我应该使用MVC还是不应该使用?,我应该使用SQL还是MSSQL?,我应该使用异常处理还是 if 语句来处理错误?

所以请任何人帮助我摆脱困惑。

【问题讨论】:

  • 这可能更适合programmers.stackexchange.com(不过,您应该先在那里进行搜索,以确保您要问的内容尚未在一个或多个现有答案中得到解释)。
  • @Michael 非常感谢,如果搜索我做了很多,但答案之间存在矛盾

标签: business-logic concept


【解决方案1】:

嗯,这会有一些解释,但这是我的。

业务逻辑是无论您的业务是否计算机化都存在的规则。

应用程序逻辑是实现该业务的特定部分的方式。

以提供多种复杂保单的保险公司为例。所有条件、计算、付款方案、报价条件等都是“业务规则”。一个说“输入出生日期和收入以立即估算我们最受欢迎的产品”的网站将包含应用程序逻辑,就像“没有购买的前 500 名收入者”的后台报告一样。 每个都是特定用途的示例。业务规则适用,但它们受到其他规则的限制和补充(例如这些政策)。

因此,通常业务规则就是规则,应用程序规则是为某个目的而选择和打包的子集。

【讨论】:

    【解决方案2】:

    应用程序逻辑说明应用程序是如何设计和开发的。您如何在整个应用程序中保持标准。可用性、用户界面、功能等在整个应用程序中得到维护。

    业务逻辑是业务的设计和实施方式。什么是业务规则,业务工作流。

    现在,有时业务逻辑会根据应用程序逻辑进行调整。有时应用逻辑会被注入到业务逻辑中以相互精简。

    SalesForce 就是一个例子。

    【讨论】:

      【解决方案3】:

      “应用程序逻辑”(在旧文献中有时称为“工作逻辑”)是您源代码的摘要。它与实现密切相关,不一定与它解决的现实问题有关。

      示例 1

      你有一副纸牌。您的业务逻辑可能包含像“排序卡片”这样的步骤,专注于期望的结果,例如,“无论您此时做什么,卡片最终都需要排序”。从业务角度来看,这是有道理的。

      另一方面,您的应用程序逻辑将包含诸如“在此处使用分布排序”之类的内容,这对于业务方面来说完全是题外话(它只关心输出),或者,您的代码甚至可能根本不进行排序,例如因为您将卡片存储在“已排序”的位域中。所以重点是,业务侧的一个步骤不一定对应应用逻辑中的一个步骤。

      示例 2

      你有一部电梯。业务规则就像“如果我们要往下走,而我们下面的人按下了向下按钮,我们就停在那里”。这是一个算法步骤,但从人类的角度来看。您的应用程序将此需求作为一项要求,并且......好吧,对于电梯,您需要知道速度、最大减速度、与呼叫楼层的距离、优先级、其他电梯轿厢的位置以及一堆其他因素,你会得到一个相当复杂的应用程序逻辑只是为了满足这个简单的要求。而且,两者都是算法。一个用于电梯,另一个用于下面的可怕混乱。 (顺便说一句,我对电梯及其软件感到非常惊讶。)

      【讨论】:

        猜你喜欢
        • 2017-08-08
        • 2016-10-11
        • 1970-01-01
        • 2013-12-15
        • 1970-01-01
        • 2012-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多