Oop 了解让存储库、DAO和其他层访问不同数据源的正确时间
我正在设计一个新的应用程序,我想用它作为未来项目的样板 在这个应用程序中,我需要访问来自不同来源的数据,比如MySQL数据库、Mongo以及远程服务器。例如,用户在两个数据库中都有信息。但其他一些实体只存在于一个源中 我的问题不是针对我的项目的。我感兴趣的是讨论在多层体系结构中应该在哪里实现与数据源的集成。我要求提供建议的方法,我理解没有“对或错” 所以从我的理解来看,DAO是非常特定于数据库的。它也是数据库的通用实现 存储库更具体于业务,还实现了一个用于持久化和检索数据的接口(针对用例)。它还可以使用DAO对象和其他存储库对象Oop 了解让存储库、DAO和其他层访问不同数据源的正确时间,oop,design-patterns,architecture,repository-pattern,dao,Oop,Design Patterns,Architecture,Repository Pattern,Dao,我正在设计一个新的应用程序,我想用它作为未来项目的样板 在这个应用程序中,我需要访问来自不同来源的数据,比如MySQL数据库、Mongo以及远程服务器。例如,用户在两个数据库中都有信息。但其他一些实体只存在于一个源中 我的问题不是针对我的项目的。我感兴趣的是讨论在多层体系结构中应该在哪里实现与数据源的集成。我要求提供建议的方法,我理解没有“对或错” 所以从我的理解来看,DAO是非常特定于数据库的。它也是数据库的通用实现 存储库更具体于业务,还实现了一个用于持久化和检索数据的接口(针对用例)。它还
- 例如,如果我需要访问Redis,它不是一个传统的数据库,我应该为此创建一个DAO吗
- 如果我需要通过RESTAPI与外部服务通信,我应该在哪里实现它?将DAO用于RESTAPI有意义吗
- 假设一些实体同时驻留在关系数据库和Web服务中,我必须访问这两个实体才能组装实体对象。我想我需要一些抽象的东西,对吗?建议采用什么方法?这是一种什么样的模式来包装这些集成?存储库就是为此而设计的
还有其他提示吗?我假设您已经看到,为了增加价值,请将这些提示链接到Martin Fowler的EAA p,以便进一步阅读:
我可能还应该在这上面打上一个大大的“这取决于”,因为您未来的一些项目将看到如此复杂的数据层带来的好处,而对于其他项目来说,这将是一个完全多余的工作。我只是希望我上面提到的进一步阅读能帮助你根据自己的具体情况打电话。Hey@dakis,我会更新我的问题。关于DataMapper,我错了。我会移除它。问题是如何使用DAO和存储库,以及我应该将与其他服务的集成放在哪里。我将在这个问题中添加Redis和其他数据源。我并不是说他们必须适应这两门课,也许他们属于别的什么地方。似乎有人结束了这个问题。因此,我的200名代表的奖金被从中删除。我真的很抱歉,帖木儿!祝你好运