Domain driven design 在域服务中封装流程

Domain driven design 在域服务中封装流程,domain-driven-design,Domain Driven Design,注-所有报价均来自 第一句话(第222页): 进程作为域对象 首先,让我们同意我们不想让程序成为 我们模型的突出方面。对象用于封装 让我们思考他们的目标或意图 我所说的是存在于域中的进程 我们必须在模型中表示。当这些问题出现时,它们往往会 设计出笨拙的物体 本章中的第一个示例描述了一个运输系统 中转货物。这个路由过程与业务有关 意思服务是显式表示此类流程的一种方式, 同时仍然封装了极其复杂的算法 第二段(第104106页): 有时候,这根本不是一件事。在某些情况下,最清晰和最 实用设计包括概念上

注-所有报价均来自

第一句话(第222页):

进程作为域对象

首先,让我们同意我们不想让程序成为 我们模型的突出方面。对象用于封装 让我们思考他们的目标或意图

我所说的是存在于域中的进程 我们必须在模型中表示。当这些问题出现时,它们往往会 设计出笨拙的物体

本章中的第一个示例描述了一个运输系统 中转货物。这个路由过程与业务有关 意思服务是显式表示此类流程的一种方式, 同时仍然封装了极其复杂的算法

第二段(第104106页):

有时候,这根本不是一件事。在某些情况下,最清晰和最 实用设计包括概念上不属于的操作 对任何物体。我们可以遵循自然规律,而不是强行解决问题 问题空间的轮廓,并在 模型

当域中的重要过程或转换不是 实体或价值对象的自然责任,添加操作 将模型作为声明为服务的独立接口。定义 根据模型的语言定义接口,并确保 操作名是通用语言的一部分

我无法确定作者在第一个引文中是否使用术语“过程””来描述与第二个引文中相同类型的行为(也应封装在服务中),或者术语“过程””用来描述一种与他在104、106页描述的行为截然不同的行为


谢谢你

我想在p。他说的是一种特殊的过程。就像在p。102报价,它们可以作为服务实现。但是,有些流程引用实际的域流程,可以从模型中的显式表示中获益。这可能不是很明显,可能需要服务之外的更复杂的对象模型。

我认为在p。他说的是一种特殊的过程。就像在p。102报价,它们可以作为服务实现。但是,有些流程引用实际的域流程,可以从模型中的显式表示中获益。这可能不是很明显,可能需要服务之外的更复杂的对象模型。

这些概念非常接近,但在我看来,第一句话更像是关于没有软件存在的大型现实域流程(例如“货物路由流程”)

第二个不太清楚,但我认为它描述了在域的建模版本中发生的较小的操作/流程/转换


虽然第一种应该从早期分析阶段就立即作为“服务”点击,后者更微妙,可能需要更多的时间才能与常规实体行为区分开来——起初,您可以将其包含在实体中,但在优化模型时,您会意识到它不太适合实体。

这些概念非常接近,但对我来说,第一句话看起来更像是关于在没有软件的情况下存在的大型现实域流程(例如“货物路由流程”)

第二个不太清楚,但我认为它描述了在域的建模版本中发生的较小的操作/流程/转换

虽然第一种应该从早期分析阶段就立即作为“服务”点击,但后一种更为微妙,可能需要更多时间才能与常规实体行为区分开来——您可以在一开始将其包含在实体中,但在细化模型时意识到它不太适合