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