【发布时间】:2019-01-17 12:32:27
【问题描述】:
考虑存储库和聚合。文献说每个聚合有一个存储库。
但是,如果我的聚合都是基类的所有子类(is-a 关系,继承不用于重用)。我是否必须为所有子类创建存储库,或者我可以为所有子类使用相同的存储库。
PaperBag paperBag = paperBagsRepository.get(paperBagId);
PlasticBag plasticBag = plasticBagsRepository.get(plasticBagId);
或者
PaperBag paperBag = bagsRepository.get(paperBagId);
PlasticBag plasticBag = bagsRepository.get(plasticBagId);
【问题讨论】:
-
为什么需要所有的聚合都从同一个类继承?
-
主要是因为它们相同但生命周期不同。参考我的示例,
PaperBag可以回收,而PlasticBag不能。所以我的类共享它们的大部分属性,但有不同的方法/操作。
标签: domain-driven-design abstract-class ddd-repositories aggregateroot