我知道我们应该只为Aggregate Roots创建存储库,而不是为它聚合的实体创建存储库。我是否应该将相同的逻辑应用于MVC,例如,为Aggregate Root提供Controller / PageView,然后为子实体提供/ some PartViewView / PartialAction。
请使用着名的Order / OrderLine示例说明您的答案。
我目前正在使用S#arp Architecture,但没有这方面的例子。
编辑1:我在Sharp-Architecture group
上开了一个帖子答案 0 :(得分:2)
我会回答我自己的问题。
首先,ASP.NET M(VC)和DDD是互补的东西。 Aggregate Root的概念不应改变或驱动视图/控制器的设计。聚合根是应用于(业务)模型的东西。视图/控制器应主要处理简单对象。可能需要创建一些特定的类(DTO)。模型绑定很酷,但控制器(或模型绑定器)不应该负责创建聚合根。
您怎么看?