Setelah sekitar satu bulan membaca dan meneliti DDD, saya memutuskan untuk memulai proyek saya sendiri dan menciptakan DDD dengan konteks terbatas ini>
- Klien
- Produk
- Pesanan
- Penagihan
Setiap konteks terikat memiliki API lainnya sebagai lapisan presentasi, lapisan domain, lapisan persisten.
Sejauh ini bagus, kodenya berjalan mulus, tetapi datang dari dunia monolitik, saya masih mencoba mencari tahu yang berikut:
- ketika saya ingin membuat klien baru, mengeluarkan faktur baru, membuat pesanan baru saya ingin misalnya mengakses daftar negara. Apakah saya:
a) membuat daftar negara di setiap BC
b) membuat Negara BC -> API dan menggunakannya untuk mendapatkan daftar negara yang tersedia
c) menggunakan API pihak ke-3 dan menarik data melalui lapisan anti korupsi di setiap BC
- ketika mengintegrasikan dengan API pihak ke-3 menggunakan lapisan anti-korupsi atau lapisan adaptor, data apa yang harus disertakan dalam model domain saya? Misalnya jika saya ingin mengintegrasikan API zendesk dengan BC Klien. Apakah saya hanya perlu ticketID di domain saya, atau saya harus mengekstrak semua data dari Zendesk yang ingin saya akses dan gunakan di dalam BC Klien?
Jika aplikasi MVC saya benar-benar mendapatkan data dari API (lapisan presentasi konteks terbatas saya), saya merasa sangat sulit untuk mendefinisikan dengan jelas batas-batas setiap BC. Apakah itu berarti bahwa BC yang dirancang dengan baik akan melayani pengontrol MVC tunggal tanpa perlu mengkonsumsi API tambahan?