传递给视图的Model是否应该通过单个存储库的单个调用来完全定义。换句话说,模型是单个聚合,还是应该在服务层中从单独的聚合构建我的模型,每个聚合都有自己的存储库?
我现在的方式是,我只需调用一个存储库来填充整个模型,然后由View显示。似乎聚合,存储库和模型都变成了相同的概念。
答案 0 :(得分:2)
我的意思是“以上都没有”。我更喜欢使用视图的表示模型,而表示模型不需要存储库。造成这种情况的原因有很多:
现在,更具体地说,按照您的问题行:您是否构建了演示模型的实例?需要多少个存储库?那么,这个问题现在几乎可以解决了。您可以设计演示模型以遵循视图的要求。您可以按照良好的TDD实践设计存储库,包括识别聚合根。现在,“我需要多少个存储库来实例化这个模型”的问题很简单。您检查模型所需的聚合根,并使用您需要的根。通常,我可以在单个LINQ查询中执行此操作。