DDD中的存储库类

Luc*_*uke 7 java domain-driven-design java-ee

我正在尝试关注DDD,我有一个Question类和一个Feedback类(等等).我希望能够计算问题的数量,反馈的数量以及被认为是元操作的许多其他事情.

这样的"元"方法是否应该与属于该类的其他方法位于同一个存储库中,或者它们是否应该位于MetaRepository中,您在其中使用不同的元方法来查询数据库(在这种情况下,所有类将被混合)?

Dmi*_*try 9

DDD中没有任何内容禁止每个聚合使用多个存储库.您可以简单地为基本查询和生命周期方法(IQuestionsRepository)创建一个存储库,并为您称为"元"或"统计"目的的单独存储库(IQuestionsStatistics).这适用于较大的域,其中遵循one-repository-per-aggregate原则可能导致"方法爆炸"和SRP违规.DDD之后不应违反基本的OOP原则.