首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据整合层(ETL)的设计模式

数据整合层(ETL)的设计模式
EN

Stack Overflow用户
提问于 2021-02-09 14:01:54
回答 1查看 404关注 0票数 1

我必须设计一个使用asp .net核心的软件,它从各种数据源收集数据(见下图)。例如,DataSource1和DataSource2都包含类似属性的产品数据。DataSource 3包括这些产品的资产。我想,首先,我将从每个数据源收集数据,并使用下面定义的实体将它们保存在自己的数据源中。后来,我在翻译或转换数据以使用一个抽象实体方面具有优势。

我的问题是,哪种模式应该适合这个系统?储存库,管道,?你能给我看一些伪码吗?

如果我使用接口,但应该增加数据源的实例,那么DI怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-09 17:41:38

一个模式(或一组模式)应该应用来解决特定的问题/复杂性

我认为您需要的模式是门面

它将解决的问题是,它将隐藏客户端的“三个数据源”的复杂性

在Facade中,您将将数据合并到一个合理的实体中。

此外,您还可以使用代理模式,它可以为“合并”实体提供“缓存”功能,这可以解决您描述的第二个复杂性。

我不确定我是否理解将这些项保存到第四个数据存储中的想法,这可能是过度的--但无论如何,这也可以通过代理类来实现--只是如果您的域“允许”,缓存就会更持久。

至于存储库(模式)--好吧,--我相信,您应用的任何合理的解决方案,如果能隐藏数据访问的细节,最终都会成为存储库的一个实现。

对于命名模式和坚持在书籍或文章中使用示例代码,我不会太严格。模式是可以根据需要调整的高级指南。

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

https://stackoverflow.com/questions/66120507

复制
相关文章

相似问题

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