我正在尝试了解领域驱动设计的基础知识。昨天我在一个我正在使用的项目中发现了一些代码,其中存储库返回了一个实体列表,即 List getMessages() ,其中 Message 是一个实体(有自己的 id 并且是可修改的)。现在,当阅读 DDD 中的存储库时,它们非常具体地指出存储库应该返回聚合根,并且聚合上的任何操作都应该通过调用聚合根中的方法来完成。
我想将 List 放在它自己的类中,然后返回该类。但是,在我的项目中,除了遵守 DDD 之外基本上不需要这样做,因为我们只显示消息、添加新消息或删除现有消息。我们永远不需要删除所有消息,所以我们唯一的方法是, , addMessage(...)
,getMessages()
这 基本上就是我们的域服务正在做的事情。updateMessage(...)
removeMessage(...)
有什么想法吗?在描述聚合和存储库时,DDD 的最佳实践是什么?