DDD (Blue book, Evans)에 따르면 공장은 유효한 상태의 집계 루트를 만드는 책임이 있습니다. 이것은 기술적 ID (mongoDB 세계의 objectId)와 도메인 ID를 생성 할 수 있어야한다는 것을 의미합니까?DDD와 MongoDB : Mongo가 ObjectID를 만들도록해도 괜찮습니까?
한편으로 이것은 기술적 인 세부 사항처럼 보이며 Mongo가 ID 생성을 처리하도록하는 것이 좋습니다.
다른 방법으로 ID로 쿼리를 활성화하면 (DDD 저장소에 getById
이 있음) 도메인에 기술 ID가 노출되어 도메인을 생성하므로 도메인을 생성해야합니다.
아마도 Technical Id 's 대 DomainId의 다른 유스 케이스/겹침 등에서 머리를 터지거나 어쩌면 지나치게 열정적이지는 않겠지 만, 어쨌든 당신의 의견에 감사드립니다.
요약하면 : DDD에서 : 공장에서 기술 ID와 도메인 ID를 생성 할 수 있습니까?
가능한 구현 : 하이/로우 (How to set the hilo sequence starting value in MongoDB Norm?)
편집 : 하이/소호 방법 만 저장소 알아야 뭔가 영속 계층에 공장을 노출하지만. 흠
감사합니다
미성년자와 전혀 관련이없는 의견. MongoDB는 실제로 ID를 생성하지 않으며, 클라이언트 (드라이버)는 (upsert 연산을 제외하고) ID를 생성합니다. –