Пусть статья и комментарии будут разными агрегатами. У комментариев будет свой домен.
Можно в контексте комментариев сделать свой класс статьи( Article ). Он даже не будет сущностью:
class Article {
private UUID id;
private CommentsRepository comments;
...
public void function addComment(commentData: commentData) {
this.coments.add(new Comment(this.id, commentData));
}
}
В контексте комментариев не обязательно нужна статья - нужен только её идентификатор.
Также в контексте комментариев вовсе не нужны данные пользователя - только его идентификатор. Идентификаторы достаточно стабильная информация чтобы не бояться их шарить.
И да, в данном случае мы имеем дело просто с декомпозицией системы, к реальному DDD это мало отношения имеет, потому что domain-driven-design, он domain-driven за счёт того что конексты обсуждаются с бизнесом, а не придумываются разработчиком, в данном случае мы просто берём оттуда немножко терминологии потому что она уже стала довольно общей.