一般来说,我想创建一个隐藏较低级别的数据访问的对象:主要是查询和加载,但也保存(继续阅读(。我们称之为ObjectRepository
.
ObjectRepository
在创建时,被赋予多个数据源对象,实现DataSourceInterface
。因此,在此阶段,我有一个ObjectRepository
来统治所有数据源。
现在我想添加一个持久性能力来ObjectRepository
.为了简化事情,我只希望DataSource
对象中的一个也是持久对象(例如,它实现了额外的DataPersistanceInterface
( - 这样我就不必每次保存数据时都指示它,即始终使用这个默认的。
在创建ObjectRepository
时,我想将其中一个对象指定为同时负责持久性的对象DataSource
代码设计的最佳方法是什么?我是否应该为每个DataSource
对象使用一些索引,并通过此索引指示持久化对象?还是有更好的方法?
我真的不知道你在做什么,我有很多问题,比如如果你想查询一个sql,你怎么知道哪个是正确的数据源对象?
但是如果要设置默认的可写数据源,我建议将读取接口和写入接口分开。也就是说,您有一个ReadOnlyDatasource
对象和一个PersistDatasource
对象,并将它们分别设置到ObjectRepository
对象中。
当然,您只能有一个Datasource
接口,但您可以在ObjectRepository
中有两个资源库,以便您可以设置持久数据源并将其用作默认值。