我有一个包含论坛的域模型。
我有论坛、线程和帖子实体。
论坛是一个独立的实体。即它不包含线程作为聚合的一部分。这是因为线程不属于特定论坛(您可以将线程移动到不同的论坛)。
我不知道我是否应该将帖子建模为线程聚合的一部分。没有线程就不能存在帖子。删除线程,您必须删除告诉我将帖子作为线程聚合的一部分的帖子。
唯一的事情是,在编辑帖子时也可以独立获取帖子。即通过它的id 编辑帖子时。
所以我认为拥有一个帖子存储库会很好地达到这个目的,而不是必须获取线程,然后通过线程实体上的方法获取正确的帖子。
拥有单独的帖子存储库的唯一问题是,在添加帖子时,即 addPost(Post),您需要确保已将线程 ID 分配给帖子实体。使用聚合我猜你只会在线程实体上使用 addPost 方法。
我应该考虑有界上下文吗?我可以有一个帖子实体和存储库,并且还有一个包含帖子实体的线程聚合吗?
如果我不使用线程/帖子聚合,当我删除线程时我将如何处理帖子删除?我应该在线程存储库上创建一个调用 deleteThread(Thread) 并在发布存储库上调用 deletePostsByThreadId(id) 的服务吗?
这里的 DDD 方式是什么?