首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DDD与数据导出系统

DDD与数据导出系统
EN

Stack Overflow用户
提问于 2012-10-08 15:44:07
回答 2查看 1.5K关注 0票数 5

我是DDD的初学者,在架构方面遇到了一些小问题。

我们的系统必须能够以各种格式(Excel、Word、PDF和其他更奇特的格式)导出业务数据。

在您看来,哪一层必须负责检索源数据、以目标格式导出它们以及为用户准备最终结果的整个过程?我混淆了域和应用程序的职责。

对于导出子系统,实现和它们的公共接口契约是否应该属于基础设施层?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-08 15:59:31

在可能的情况下,我通常采用简单的方法。

域代码实现了域的语言--名词、动词等。

应用程序代码使用这种语言创建诗歌。

因此,在您的示例中,输出的结构是应用程序关注的问题,而应用程序将讨论的位的结构(因为您没有提到它)将是域关注的问题。

例如,如果报告由销售数据组成,那么日期、账单、订单等内容将在域中抽象地构建,而应用程序将使用这些内容来生成文档。

票数 5
EN

Stack Overflow用户

发布于 2012-10-08 18:50:38

既不是应用程序层,也不是域层,也不是任何其他“层”。DDD不是分层架构。搜索洋葱架构或端口和适配器模式,以了解有关此主题的更多信息。

现在来看看你的问题的核心。您面临的问题是一个单独的有界上下文,应该转到系统的一个单独组件。让我们称其为报告。由于它只是一个表示问题,没有领域逻辑- DDD不适合它。只需制作一些SQL视图,使用NHibernate、LINQ2SQL、EF甚至纯DataReaders读取它们,然后使用生成器模式构建Word/任何文档。没有聚合、存储库、服务或任何其他DDD构建块。

您可能希望更进一步,使应用程序中的所有数据表示都由一个单独的组件处理。这是CQRS。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12777333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档