【问题标题】:What is domain logic?什么是领域逻辑?
【发布时间】:2010-09-26 12:39:54
【问题描述】:

什么是领域逻辑?域逻辑的维基百科页面重定向到业务逻辑。它们是同一个东西吗?如果不是,它们有何不同?

【问题讨论】:

标签: architecture terminology business-logic


【解决方案1】:

特定于特定专业领域/领域的业务逻辑。

【讨论】:

  • 那么域逻辑是业务逻辑的子集吗?如果是这样,这似乎与 jakber 的回答相矛盾。
【解决方案2】:

领域就是您要建模的内容。

如果您正在对业务问题进行建模,它们是相同的。

如果您正在建模其他东西,例如物理,您的系统中可能没有业务逻辑,但物理部分仍然是领域逻辑。

【讨论】:

  • 业务逻辑是领域逻辑的子集吗?如果是这样的话,这似乎与 Brian Knoblauch 的回答相矛盾
  • 我不会认为 Brian Knoblauch 的回答不正确,这只是对这个概念的稍微狭隘的看法。如果您正在构建 CRM 系统,那么您的问题域是 CRM,而您的域逻辑是特定于 CRM 领域的业务逻辑。
【解决方案3】:

域是您的应用程序所在的世界。因此,如果您正在开发一个航班预订系统,应用程序域将是航班预订。

另一方面,业务逻辑是整个应用程序域的一个更离散的块。业务逻辑通常是为执行特定业务流程而构建的一段代码。因此,您将有业务逻辑来进行预订。另一个业务逻辑是退还已取消门票的代码。

支持您的业务流程的对象将成为您的业务对象!

【讨论】:

    【解决方案4】:

    我的域名是制药业。它涉及隔间、剂量、微分方程和统计数据。如果你想把它称为我的“业务”,那么我猜它是“业务逻辑”。

    【讨论】:

      【解决方案5】:

      领域逻辑适用于问题领域,例如“订单处理”。领域逻辑与您使用的实体(对象模型)及其关系有关。

      业务逻辑包含特定于您的上下文的规则,例如“来自 X 组客户的订单超过金额 Z 时将使用折扣 Y 进行处理”。业务“逻辑”是关于编码有关您的业务(或使用该程序的客户的业务)的事实。

      【讨论】:

        【解决方案6】:

        我会说业务逻辑与:

        域中实体之间的任何逻辑或关联。

        那么学生如何与班级或学生相关联。 如何创建新班级以及如何为该班级注册学生

        与业务规则、确定结果、服​​务、事件、流程、计算、转换和相关数据操作/创建有关的任何事情。

        我发现很难找到好书/老师来帮助构建领域逻辑。构建域很容易。但在我看来,域逻辑似乎是一个没人想去的地方。

        【讨论】:

          【解决方案7】:

          业务逻辑是目的论的(关注如何实现目标),而领域逻辑是本体论的(存在什么,或用于推理的对象模型)

          【讨论】:

          • 如果它们不同,我认为这将是最好的答案。域逻辑将封装您的不同域对象及其相互关系。而业务逻辑会描述每个对象如何使用这些关系来实现特定目标。
          • 迄今为止最清楚的答案,谢谢!那么,在这方面,数据层会关注领域逻辑对象的持久性(以及访问、查询等),对吧?
          【解决方案8】:
          • 业务逻辑涉及协调视图和模型(用户界面和数据)之间的有效交互。
          • 域逻辑是关于在应用程序的两端(客户端和服务器)保持内部一致的模型表示。

          【讨论】:

            【解决方案9】:

            让我们介绍一个场景。

            您有一个 XYZ 约束客户,他希望您让他的系统联机。
            用户可以在线下订单、跟踪订单、付款等。

            从客户的角度来看,这个系统将被称为商业理念 而“在线下订单”据说是业务流程之一,并且 如果用户在线下订单,客户想要用户的每个细节,想要在屏幕上显示它等等,据说是业务逻辑

            现在你将把他的商业想法建模到你的观点中,这样你的系统就可以完成他的所有业务流程或他的完整商业想法,称为问题域应用程序域您的应用程序的域

            现在您将首先识别所有业务流程。并识别实体或对象以完成业务流程。那些被称为Business ObectDomain Object 的对象和实现业务流程的方法或逻辑(如placeOrder)被称为Domain Logic

            所以 业务逻辑 是客户想要的,因为它在客户业务领域中,而 领域逻辑 是您实现它的方式。因为它在您的应用程序域中。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2020-04-14
              • 1970-01-01
              • 2011-04-21
              • 1970-01-01
              • 1970-01-01
              • 2012-05-27
              • 2010-12-24
              相关资源
              最近更新 更多