我可能注定要阻止不匹配,但我试图调和我见过的IRepository和不可变对象的例子。存储库和不可变对象?
我工作的编目应用程序,其中Web请求的hundrds上的产品“工作集”操作 - 整个目录的一个子集往往是发挥在任何给定的时间。
与此同时,我们的数据团队不断的更新产品数据 - 新形象,更新价格,描述,等等,等等
在我看来,对于表现我最好考虑产品为永恒不变。它们由存储库加载并缓存,并且许多线程可以同时访问同一个产品对象。
但是这个想法似乎与许多我看到的更新/删除方法中的IRepository示例有关 - 只要一个线程可以写入产品,就好像我打开了自己的比赛和其他nastiness。
因此,我设想了一个“编辑器”模型,通过伴侣“编辑器”对象对实体进行更改,然后坚持更改并强制相关产品重新加载以供所有人使用。产品永远不会改变 - 只能在外部“编辑”并重新加载。
这是否有意义?我可以看到他们描述的这个可以使用存储库吗?
谢谢你的时间!
也许这与由迈克尔·哈伦建议的“编辑锁定”是要走的路 - 非常感谢! – n8wrl 2009-04-15 12:55:59