これが、私が現在DDDを実践している方法で、このタイプの問題をどのように解決できるかについての私の見解です。
投稿など、タグの追加と削除が必要なものを編集している場合、タグはエンティティである可能性がありますが、値オブジェクトである可能性があり、いずれかの方法で投稿と一緒にロードおよび保存されます。オブジェクトを変更する必要がない限り、私は個人的に値オブジェクトを好む傾向がありますが、読み取り専用の「スナップショット」としてモデル化されたエンティティオブジェクトと、アイデンティティを欠く実際の値オブジェクトには違いがあることを認識しています。トリッキーな部分は、おそらく、通常はキーと考えるものが、そのコンテキストでIDとして使用されていない限り、値オブジェクトの一部である可能性があり、タグがこのカテゴリに分類されると思います。
タグ自体を編集している場合、それはおそらく別個の境界コンテキストであるか、タグ自体が集合ルートであり、リポジトリを通じて永続化されている少なくとも別個の集合です。このコンテキストでタグを表すエンティティクラスは、Postaggregateで使用されるタグと同じエンティティクラスである必要はないことに注意してください。
選択リストを提供するなどの読み取り専用の目的でディスプレイに使用可能なタグをリストする場合、それはおそらく値オブジェクトのリストです。これらの値オブジェクトは、実際のドメインではなく、主にUIのサポートに関するものであるため、ドメインモデルに含めることができますが、含める必要はありません。
なぜ私の考えが間違っているのか誰かが考えているなら、チャイムを鳴らしてください。しかし、これは私がやってきたやり方です。