当我试图辨别应用程序逻辑和业务逻辑之间的区别时,我找到了一组文章,但不幸的是它们之间存在矛盾。
对我来说,我是这样理解的:
如果我们在 Google 中查找
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 语句来处理错误?
所以请有人帮助我摆脱困惑。
嗯,对此会有几种解释,但这是我的。
业务逻辑是无论您的业务是否计算机化都适用的规则。
应用程序逻辑是如何实现该业务的特定部分。
以提供多种复杂保单的保险业务为例。所有的条件、计算、付款方案、报价条件等都是“业务规则”。 一个网站说“输入出生日期和收入即可立即估算我们最受欢迎的产品”,该网站将包含应用程序逻辑,就像“未购买的前 500 名收入者”的后台报告一样。 每个都是特定用途的示例。业务规则适用,但它们受到其他规则的约束和补充(就像这些政策)。
因此,通常业务规则是规则,应用程序规则是出于某种目的而选择和打包的子集。
应用程序逻辑告诉我们如何设计和开发应用程序。您在整个申请过程中如何保持标准。可用性、UI、功能等在整个应用程序中得到维护。
业务逻辑是指业务的设计和实施方式。业务规则、业务工作流程是什么。
现在,有时业务逻辑会根据应用程序逻辑进行调整。有时应用程序逻辑会注入到业务逻辑中以相互简化。
SalesForce 就是一个例子。
“应用程序逻辑”(在旧文献中有时称为“工作逻辑”)是源的摘要。它与实施密切相关,而不一定与其解决的现实世界问题密切相关。业务逻辑基本上是需要完成的更高级别的需求列表。
例如:
情况
你有一副牌,你希望它们按顺序排列。
业务逻辑步骤
“对卡片进行排序”
(例如,“我们不关心你如何实现这一点,完成它”)
应用逻辑步骤
- 获取卡片列表
- 应用分布排序
- 存储结果
业务逻辑从“结果”的角度告诉您需要发生什么。 “我们需要这个和这个”。这是您通常在规范文档中看到的内容。 应用程序逻辑从面向数据和算法的角度告诉您程序应该做什么。商人不关心这个,他们需要你的卡片整理好,不要用细节来打扰他们。但您需要计划数据如何到达、如何处理以及如何传递。应用程序逻辑是您在代码注释或开发文档中看到的内容。