Pertanyaan yang diberi tag «domain-driven-design»

Desain berbasis domain (DDD) adalah pendekatan untuk mengembangkan perangkat lunak untuk kebutuhan yang kompleks dengan menghubungkan implementasi ke model yang berkembang.

8
Kapan obsesi primitif bukan bau kode?
Saya telah membaca banyak artikel baru-baru ini yang menggambarkan obsesi primitif sebagai bau kode. Ada dua manfaat dari menghindari obsesi primitif: Itu membuat model domain lebih eksplisit. Misalnya, saya dapat berbicara dengan analis bisnis tentang Kode Pos alih-alih string yang berisi kode pos. Semua validasi ada di satu tempat, bukan …

2
Bagaimana tepatnya seharusnya Perintah CQRS divalidasi dan ditransformasikan ke objek domain?
Saya telah mengadaptasi CQRS 1 orang miskin untuk beberapa waktu sekarang karena saya suka fleksibilitasnya untuk memiliki data granular di satu toko data, memberikan kemungkinan besar untuk analisis dan dengan demikian meningkatkan nilai bisnis dan ketika diperlukan yang lain untuk bacaan yang berisi data yang didenormalkan untuk meningkatkan kinerja . …



2
Model domain anemia dan injeksi layanan domain
The model domain anemia digambarkan sebagai anti-pola dalam domain desain didorong oleh Martin Fowler. Untuk memiliki logika bisnis pada model domain sering layanan domain digunakan. Tetapi menyuntikkan layanan domain ke dalam model domain dianggap berbahaya oleh Vaughn Vernon (lihat "Menerapkan Desain Berbasis Domain, Halaman 387). Menurut saya, pendapat itu kontradiktif, …

3
Database relasional dan pengembangan berulang
Dalam banyak pendekatan untuk pengembangan perangkat lunak seperti metodologi gesit, Desain Berbasis Domain dan Analisis dan Desain Berorientasi Objek, kami didorong untuk mengambil satu pendekatan berulang untuk pengembangan. Jadi kita tidak seharusnya menyelesaikan model domain dengan benar saat pertama kali kita mulai bekerja di proyek. Alih-alih, seiring berjalannya waktu kami …

4
Bagaimana kegigihan cocok dengan bahasa yang murni fungsional?
Bagaimana pola penggunaan penangan perintah untuk menangani ketekunan cocok dengan bahasa murni fungsional, di mana kami ingin membuat kode terkait IO setipis mungkin? Saat menerapkan Desain Berbasis Domain dalam bahasa berorientasi objek, biasanya menggunakan pola Command / Handler untuk mengeksekusi perubahan status. Dalam desain ini, penangan perintah duduk di atas …

8
Apakah objek yang tidak berubah dan DDD berjalan bersama?
Pertimbangkan sistem yang menggunakan DDD (juga: sistem apa pun yang menggunakan ORM). Inti dari sistem apa pun secara realistis, dalam hampir setiap kasus penggunaan, adalah memanipulasi objek domain tersebut. Kalau tidak, tidak ada efek atau tujuan nyata. Memodifikasi objek yang tidak dapat diubah akan menyebabkannya untuk menghasilkan catatan baru setelah …

3
Cara menangani kesalahan pasca-validasi dalam perintah (DDD + CQRS)
Misalnya, ketika Anda mengirimkan formulir Daftar, Anda harus memeriksa Domain Model( WriteModeldalam CQRS) bahwa itu dalam keadaan valid (misalnya, sintaksis alamat email, umur, dll). Kemudian Anda membuat Command, dan mengirimkannya ke Command Bus. Saya mengerti bahwa Perintah tidak boleh mengembalikan apa pun. Jadi, bagaimana Anda menangani kesalahan di luar Command …




3
Saat menggunakan DDD dan CRQS, haruskah persis satu peristiwa per perintah?
Saya mencari cara untuk merancang aplikasi ddd dengan konvensi konfigurasi. Katakanlah agregat "Klien" memiliki perintah yang didefinisikan "FillProfile". Secara logis akan memunculkan acara "ProfileFilled". Adakah kasus ketika suatu perintah akan meningkatkan lebih dari satu peristiwa, atau di mana suatu perintah akan memunculkan peristiwa yang berbeda berdasarkan pada beberapa logika? Atau …

2
Konteks & Domain Terbatas DDD?
Saya telah bekerja dalam aplikasi yang relatif kompleks dengan 10 tabel database (Agregat, Entitas / Nilai Objek) dan menerapkan DDD. Pada titik ini pada dasarnya tampak DDD-Lite yang berarti bahwa ada Layanan Aplikasi / Domain, Model Domain (Entitas, Nilai Objek), dan Repositori. Saya mengambil buku Menerapkan DDD dan hal pertama …


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.