Saya bisa memberi Anda contoh lain. Anggap Anda memiliki beberapa sistem e-niaga. Anda akan memiliki produk di sana, namun produk akan menjadi bagian dari setidaknya dua domain berbeda:
- Katalog produk, tempat Anda menyimpan deskripsi produk dan semua atribut Anda
- Persediaan, di mana Anda memiliki tingkat stok produk
Jika Anda memiliki satu konteks terbatas untuk kedua domain, solusi Anda dapat dengan cepat menjadi bola lumpur besar karena Anda akan mulai referensi silang itu. Pada akhirnya Anda tidak akan memiliki dua domain lagi. Inventaris produk Anda akan dimanjakan dengan referensi katalog produk dan sebaliknya. Karena ini, Anda tidak akan dapat mengubah satu domain tanpa menyentuh yang lain meskipun Anda sepenuhnya menyadari ini tidak diperlukan. Model Anda menjadi tergantung satu sama lain dan sangat erat, dan tergantung dengan cara yang buruk - tergantung pada implementasi.
Namun, jika Anda memiliki dua konteks terikat, semua perubahan yang Anda lakukan dalam satu domain tidak akan memengaruhi yang lain segera setelah Anda menjaga saluran komunikasi tetap jelas. Ini berarti Anda harus memiliki duplikasi data tetapi ini adalah biaya paling murah untuk membayar aplikasi berbasis komponen yang salah. Domain Anda dapat berbicara satu sama lain menggunakan peristiwa domain. Bahkan jika Anda tidak berencana untuk memiliki aplikasi berbasis SOA di awal, Anda akan dapat meningkatkan ke tingkat itu ketika Anda perlu dengan usaha yang relatif rendah karena Anda hanya mengubah transportasi untuk acara domain Anda, meninggalkan ide di baliknya tetap utuh.
Pembaruan: Ada siaran keterampilan yang bagus tentang SkillsMatter, dari Eric Evans. Dia memberikan analogi cerita lama, ketika beberapa orang buta menggambarkan seekor gajah dari sudut pandang mereka. Karena setiap manusia hanya dapat menyentuh sebagian dari gajah, mereka menggambarkannya sebagai "pohon", "dinding", "ular", "tali". Dan masing-masing pria itu benar dalam konteksnya. Konteks terikat adalah tempat tinggal bahasa di mana-mana. Di luar konteks, istilah-istilah ini mungkin memiliki makna yang sangat berbeda tetapi di dalam konteksnya, bahasanya sama di berbagai domain. Greg Young sangat menyarankan untuk mulai membaca buku biru dari bab 11, karena konsep paling penting dan mendasar dijelaskan di sana. Fokus pada pola taktis di awal buku membuat pendekatan "DDD-light" ini sangat umum,