我目前有这样的流程:
Repository
注入Datasource
。 ViewModel
注入了Repository
。
因为需要转换到UI的项目和变异(删除,更改)的流量不变,所以我不会在存储库中保留一组项目。因此,我最终获得了一个只在Datasource和ViewModels之间传递Items的存储库。
我一直都知道你不应该直接在UI层中使用数据源(ViewModel在我的UI层中)。但如果使用依赖注入,情况仍然如此吗?我是将Repository模式用于其使用还是仅仅导致我的开销? (现在觉得它确实如此。)
我最初实现了存储库来解耦UI和数据源,但我发现DI在没有存储库的情况下做得很好。
答案 0 :(得分:2)
你可能想看一下Oren Eini(又名Ayende Rahien)的一些博客文章
The evils of the repository abstraction layer
或
Repository is the new singleton
通常情况下,存储库只是流动加热器"。除了转发呼叫和结果外,他们什么都不做,只是增加了开销。
顺便说一下:如果您应该或不应该使用存储库与依赖注入无关!
<强>更新强>
Oren刚刚发表了new post on this topic。