多个数据访问对象和单个持久性对象

时间:2017-03-16 15:40:37

标签: java

一般来说,我想创建一个隐藏对数据的低级访问的对象:主要是查询和加载,还要保存(读取)。我们称之为ObjectRepository

ObjectRepository在创建时,会被赋予多个数据源对象,并实现DataSourceInterface。所以在这个阶段我有一个ObjectRepository来统治所有数据源。

现在我想为ObjectRepository添加持久性功能。为了简化操作,我希望只有一个DataSource对象也是一个持久的对象(比如,它实现了额外的DataPersistanceInterface) - 这样我每次保存数据时都不必指示它,即始终使用此默认值。

在创建ObjectRepository时,代码设计的最佳方法是什么?我想指出一个DataSource对象作为负责持久性的对象?我应该为每个DataSource对象使用一些索引,并通过此索引指示持久的索引吗?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我真的不知道您在做什么,而且我有很多问题,例如,如果您要查询一个sql,您如何知道哪个是正确的数据源对象?

但是,如果要设置默认的可写数据源,建议您将读取接口和写入接口分开。也就是说,您有一个$elemMatch对象和一个ReadOnlyDatasource对象,并将它们分别设置到PersistDatasource对象中。

当然,您只能有一个ObjectRepository界面,但是您的Datasource中可以有两个设置器,以便您可以设置持久数据源并将其用作默认值。