我有两个具有一对多关系的聚合Blog
和Post
(Blog
与多个Post
相关)。根据域驱动的设计最佳实践,我不确定Blog
是否应保存Post
参考的集合:
public class Blog : Entity<BlogId>, IAggregateRoot
{
IEnumerable<Post> posts;
}
当Post
也具有通过BlogId
的间接ID引用时:
public class Post : Entity<PostId>, IAggregateRoot
{
BlogId BlogId;
}
如果需要更多上下文来回答这个问题,请告诉我。
DDD不会告诉您如何实现您的应用程序,而只是给您提供指导。如果您无法执行其他操作,则绝对可以将“帖子”列表保存到“博客”类中并进行逻辑反向引用,但是最重要的要了解的是“博客用户”将如何对帖子进行操作。
因此,请随意以您最喜欢的方式来实现域模型,但是添加帖子,删除帖子等的唯一方法是通过发送到“ blog”实体的命令,因此,将由博客本身授予您的帖子根据您的实现正确连接了]