2
DDD: ถูกต้องหรือไม่สำหรับการรวมรูทเพื่อระงับการอ้างอิงถึงการรวมรูทอื่น?
เมื่อติดตามการออกแบบที่ขับเคลื่อนด้วยโดเมน (DDD) จะถูกต้องหรือไม่สำหรับการรวมของรูทเพื่อเก็บการอ้างอิงไปยังเอนทิตีภายในที่เกิดขึ้นเป็นเอนทิตีรูทของการรวมแยกต่างหาก ฉันเชื่อว่านี่ไม่ถูกต้องส่วนใหญ่เป็นเพราะกฎนี้ในหนังสือสีฟ้า : ไม่มีสิ่งใดนอกขอบเขต AGGREGATE ที่สามารถเก็บการอ้างอิงถึงสิ่งใด ๆ ภายในยกเว้นราก ENTITY ENTITY รูทสามารถส่งการอ้างอิงไปยัง ENTITIES ภายในกับวัตถุอื่น ๆ ได้ แต่วัตถุเหล่านั้นสามารถใช้งานได้ชั่วคราวเท่านั้นและอาจไม่สามารถใช้อ้างอิงได้ รูทอาจส่งมอบค่าของวัตถุประสงค์ให้แก่วัตถุอื่นและไม่สำคัญว่าจะเกิดอะไรขึ้นกับมันเนื่องจากเป็นเพียงค่าและจะไม่มีการเชื่อมโยงกับ AGGREGATE อีกต่อไป หากการรวมรากถือการอ้างอิงไปยังการรวมรากอื่นขอบเขตของอดีตถูกละเมิดและแนวคิดทั้งหมดของการรวมเสียหายดังนั้นฉันเชื่อว่าถ้าการรวมรากดูเหมือนว่าจำเป็นต้องระงับการอ้างอิงถึงการรวมรากอื่นแล้วฉันต้อง เพื่อสร้างเอนทิตีที่แตกต่างกันซึ่งอาจจะแบ่งสมาชิกบางส่วนเหมือนกับเอนทิตีรูทอื่น แต่จะไม่มีข้อมูลประจำตัวทั่วโลกเช่นกฎอื่น ๆ ในรัฐหนังสือ: รูต ENTITIES มีตัวตนระดับโลก ENTITIES ภายในขอบเขตมีเอกลักษณ์เฉพาะที่ไม่ซ้ำกันภายใน AGGREGATE ฉันเชื่อว่านี่จะเป็นวิธีที่ถูกต้อง แต่เนื่องจากมันให้ความรู้สึกซ้ำซากและซ้ำซ้อน (เมื่อนำออกจากบริบทของ DDD ด้วย OOP บริสุทธิ์) ฉันกำลังขอคำติชม