Saat mengikuti desain yang digerakkan oleh Domain (DDD), apakah benar untuk agregat root untuk memegang referensi ke entitas internal yang kebetulan menjadi entitas root pada agregat terpisah?
Saya percaya ini tidak benar, terutama karena aturan tentang buku biru ini :
Tidak ada yang di luar batas AGGREGATE yang dapat menyimpan referensi ke apa pun di dalamnya, kecuali ke root ENTITY. Root ENTITY dapat menyerahkan referensi ke ENTITAS internal ke objek lain, tetapi objek tersebut dapat menggunakannya hanya sementara, dan mereka mungkin tidak berpegang pada referensi. Root dapat memberikan salinan VALUE OBJECT ke objek lain, dan tidak masalah apa yang terjadi padanya, karena itu hanya VALUE dan tidak lagi memiliki hubungan dengan AGGREGATE.
Jika agregat root memegang referensi ke agregat root lain batas dari yang pertama dilanggar dan seluruh konsep agregat rusak, jadi saya percaya jika agregat root sepertinya perlu memegang referensi ke agregat root lain, maka saya perlu untuk membuat entitas yang berbeda , yang mungkin akan berbagi beberapa anggota yang sama dengan entitas root lainnya, tetapi tidak akan memiliki identitas global, seperti yang dinyatakan oleh aturan lain dalam buku ini:
Root ENTITIES memiliki identitas global. ENTITIES di dalam batas memiliki identitas lokal, unik hanya di dalam AGREGAT.
Saya percaya ini akan menjadi cara yang benar untuk pergi, tetapi karena rasanya berulang dan berlebihan (ketika diambil dari konteks DDD, dengan OOP murni) saya meminta umpan balik.