DDD(Blue book、Evans)によると、ファクトリは有効な状態で集約ルートを作成する責任があります。これは、ドメインIDだけでなくテクニカルID(mongoDBの世界ではobjectId)を作成できる必要があることを意味しますか?
一方では、これは技術的な詳細のようであり、MongoにIDの作成を処理させることは問題ないように思われます。
一方、IDによるクエリを有効にすると(getById
DDDリポジトリにあることにより)、テクニカルIDがドメインに公開されます。これにより、ファクトリがIDを作成する必要があります。
テクニカルIDとドメインIDのさまざまなユースケースやオーバーラップなどに頭を悩ませることができないか、熱心に取り組んでいる可能性がありますが、とにかくあなたの意見をいただければ幸いです。
つまり、DDDの場合:ファクトリはドメインIDだけでなくテクニカルIDも作成できる必要がありますか?
可能な実装:Hi / Lo(MongoDB Normでhiloシーケンスの開始値を設定する方法は?)
編集: hi / loの方法では、ファクトリが永続層に公開されますが、これはリポジトリだけが知っておくべきことです。うーん
ありがとう