平面文件工作单位(DDD)的相关性?

问题描述 投票:0回答:1

所以,我正在使用DDD应用程序,因此我将跳过这些细节,但是在全局范围内:其中一项服务旨在从数据库中检索信息,对其进行处理并将“已处理的数据”(实际上是一个汇总)写入平面文件(而且不能,我不能更改-平面文件将发送到可以解释该文件的打印机)。除了平面文件部分外,没有任何异常。写下代码时,我想当然是要把处理过的数据的结果写到文件中,作为我的应用程序服务的一部分,对我来说,这就像使用一个单元将汇总写入数据库一样。存储库类完成工作。

所以我的问题是:FlatFileUnitOfWork作为DDD的一部分合法吗?如果是这样,是否有人有一个(好的)例子?因为对我来说,这很不常见,我无法找到“ FlatFileUnitOfWork”的正确示例。

非常感谢。

注意:Web API用C#编写

c# domain-driven-design unit-of-work
1个回答
0
投票

加入TSeng,我想说要看! :)

根据您的描述,工作单元非常不太可能符合您的情况。那么什么是正确的解决方案?顾名思义,在DDD中,一切都取决于域! -抱歉绕过哲学!:)

我的问题是:印刷背后的业务流程是什么。这只是一个小问题-还是核心领域的关键部分(例如,整个应用程序是关于革命性地打印出设计精美的演唱会门票的]-或两者之间的内容?

如果只是一个小问题-很远,与核心域无关-那么应用程序事件或命令可能没问题。例如。您在核心域的上下文中发出一个应用程序事件,然后在另一个上下文中捕获该事件,该事件使打印机通过将平面文件发送给打印机来完成其工作。或者,此打印可能属于相同的上下文(仍然是一个小问题)。在这种情况下,您的应用程序服务可能会调用(或“命令”)基础结构层的porper模块,通过平面文件进行打印。

如果它是核心域的一部分,则可能会发生,例如域服务以某种方式负责构成关键的打印内容或类似的内容。在这种情况下,解决方案的确切细节将取决于对核心域的全面分析((知识处理,域建模)]。)>

© www.soinside.com 2019 - 2024. All rights reserved.