Menguruskan entiti "pengguna" antara agregat dalam DDD
P粉775788723
P粉775788723 2024-04-04 09:54:15
0
1
645

Saya cuba menulis semula aplikasi monolitik pada aplikasi monolitik modular menggunakan DDD dan seni bina heksagon. Mula-mula cuba ekstrak tiga modul (agregasi): "Dikongsi", "Pengguna" dan "Artikel".

Setakat yang saya faham dengan betul, tiada pergantungan harus dibuat antara "pengguna" dan "siaran". Walau bagaimanapun, mereka semua boleh menggunakan kandungan daripada modul Dikongsi.

Jadi inilah perkaranya… Modul "Artikel" mempunyai Article 实体,该实体与 User 实体相关。从 DDD 的角度来看,它是特定文章的创建者。将会有更多类似的模块与 User entiti yang dikaitkan dengannya sebagai pengarang atau pemilik sumber.

Bagaimana ia harus dilaksanakan? Patutkah ia dialihkan ke Shared? Malangnya, tiada sumber khusus dapat ditemui. Github terutamanya mengandungi projek dengan satu pengagregatan dan tidak ada entiti User.

P粉775788723
P粉775788723

membalas semua(1)
P粉215292716

Saya sentiasa mencari cara yang berbeza untuk menyelesaikan masalah seperti ini. Anda boleh membuat agregat kongsi dan tiada siapa boleh mengatakan ia salah. Walau bagaimanapun, saya fikir penyelesaian terbaik ialah anda mencipta agregat Orang (atau Orang) di mana anda boleh mempunyai PersonEntity (atau AuthorEntity) yang berkaitan dengan ArticleEntity, tidak ada masalah dengan hubungan antara agregat, tetapi saya cadangkan anda cuba hanya Mencipta akar hubungan antara agregat.

Ini adalah contoh Buku Biru Eric Evans

Sila ambil perhatian bahawa Voyage ialah AggregateRoot dalam Aggregate Voyage, yang mempunyai hubungan dengan Lokasi AggregateRoot agregat Lokasi.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan