什么是域逻辑?

Syd*_*ius 41 architecture terminology business-logic

什么是域逻辑?域逻辑的Wikipedia页面重定向到业务逻辑.它们是同一个东西,如果不是,它们有什么不同?

Agi*_*oob 35

域名是您的应用程序所在的世界.因此,如果您正在使用航班预订系统,则应用程序域将是航班预订.

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

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


jak*_*ber 34

域是您正在建模的.

如果您正在为业务问题建模,那么它们是相同的.

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

  • 我不会说Brian Knoblauch的答案是错误的,这只是这个概念的狭义观点。如果要构建CRM系统,则问题域是CRM,域逻辑是特定于CRM领域的业务逻辑。 (2认同)

VLo*_*Boy 10

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

  • 如果他们不同,我认为这将是最好的答案.域逻辑将封装您的不同域对象及其相互关系.而Business Logic将描述每个对象如何使用这些关系来实现特定目标. (4认同)
  • 迄今为止最清楚的答案,谢谢!那么,在这方面,数据层会关注域逻辑的对象的持久性(以及访问、查询等),对吗? (2认同)

小智 8

让我们介绍一个场景。

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

对于客户的角度来看,该系统将被称为业务理念 ,而“在线下订单”被认为是业务流程之一,如果用户在线下订单,客户想要用户的每个详细信息,想要将其显示在屏幕上等等。是业务逻辑

现在,您将把他的业务理念建模到您的观点中,以便您的系统可以完成他的所有业务流程或他的完整业务理念(称为问题域应用程序域应用程序域)

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

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