我正在尝试遵循DDD,并且有一个Question类和Feedback类(以及其他)。我希望能够计算问题的数量,反馈的数量以及被视为元操作的许多其他事情。
此类“元”方法应该与属于该类的其他方法位于同一个存储库中,还是应该在您具有查询数据库的不同元方法的MetaRepository中(在这种情况下,将混合所有类)?
DDD中的任何内容都禁止每个聚合具有一个以上的存储库。您可以简单地拥有一个用于基本查询和生命周期方法的存储库(IQuestionsRepository),以及一个用于您所谓的“元”或“统计”目的的独立存储库(IQuestionsStatistics)。这对于较大的域非常有效,在该域中,遵循 每个聚合一个存储库的 原则可能会导致“方法爆炸”和违反SRP。遵循DDD不应违反基本的OOP原则。