Saya sedang belajar tentang Desain Berbasis Domain, namun ada beberapa masalah praktis yang membingungkan bagi saya sehingga saya pikir melihat beberapa sampel yang baik mungkin akan beres.
Apakah ada yang tahu tentang beberapa contoh kode kerja yang baik yang melakukan pemodelan konsep DDD dasar dengan baik?
Khususnya tertarik
- Model Domain ilustratif
- Repositori
- Penggunaan Layanan Domain / Aplikasi
- Nilai Objek
- Akar Agregat
domain-driven-design
jlembke
sumber
sumber
Jawaban:
Kesulitan dengan sampel DDD adalah bahwa mereka sering sangat spesifik domain dan implementasi teknis dari sistem yang dihasilkan tidak selalu menunjukkan keputusan desain dan transisi yang dibuat dalam pemodelan domain, yang sebenarnya merupakan inti dari DDD. DDD jauh lebih banyak tentang proses daripada kode. (seperti beberapa orang mengatakan, sampel DDD terbaik adalah buku itu sendiri!)
Oleh karena itu, aplikasi sampel yang dikomentari dengan baik setidaknya harus mengungkapkan beberapa keputusan ini dan memberi Anda arahan dalam hal mencocokkan model domain Anda dengan pola teknis yang digunakan untuk mengimplementasikannya.
Anda belum menentukan bahasa yang Anda gunakan, tetapi saya akan memberi Anda beberapa bahasa yang berbeda:
DDDSample - sampel Java yang mencerminkan contoh yang dibicarakan Eric Evans dalam bukunya . Ini dikomentari dengan baik dan menunjukkan sejumlah metode berbeda untuk menyelesaikan berbagai masalah dengan konteks terbatas yang terpisah (yaitu, lapisan presentasi). Sedang aktif bekerja, jadi periksa secara teratur untuk pembaruan.
dddps - Contoh aplikasi C # Tim McCarthy untuk bukunya, .NET-Driven Design Domain dengan C #
Arsitektur S # arp - contoh C # pragmatis, bukan sebagai "murni" pendekatan DDD mungkin karena kurangnya masalah domain nyata, tetapi masih merupakan pendekatan bersih yang bagus.
Dengan semua aplikasi sampel ini, mungkin yang terbaik untuk memeriksa versi trunk terbaru dari SVN / apa pun untuk benar-benar mendapatkan gagasan tentang pola pemikiran dan teknologi karena harus diperbarui secara berkala.
sumber
dddps
tampaknya sepenuhnya anemia dan berlawanan dengan OOP sebenarnya. Tidak ada objek domain yang memiliki perilaku apa pun, dan kelas lapisan layanan pada dasarnya adalah delegasi 1: 1 ke repositori. Saya tidak yakin apakah ini harus dianggap sebagai contoh "baik" dari DDD? Saya masih belajar sendiri, tetapi sampel dalam Arsitektur S # arp tampaknya menjadi contoh yang lebih baik bagi mereka yang belajar DDD karena mencakup kondisi dan perilaku, yang merupakan desain OOP yang baik.Bukan proyek sumber per kata tapi saya menemukan Parleys.com yang memiliki beberapa video bagus yang mencakup DDD dengan cukup baik (membutuhkan flash):
Saya menemukan ini jauh lebih bermanfaat daripada contoh-contoh DDD hampir tidak ada yang saat ini tersedia.
sumber
.NET DDD Contoh dari Domain-Driven Design Book oleh Eric Evans dapat ditemukan di sini: http://dddsamplenet.codeplex.com
Bersulang,
Jakub G
sumber
Lihat Sutra Proyek . Tidak hanya mendemonstrasikan DDD tetapi juga pola mutakhir lainnya. Ini adalah sumber yang bagus untuk Pengembang Web. Gambaran lengkap proyek dapat ditemukan di MSDN .
sumber
Ini adalah contoh yang baik berdasarkan desain berbasis domain dan menjelaskan mengapa penting untuk memiliki lapisan domain yang terpisah.
Microsoft spain - DDD N Layer Architecture
sumber
ddd-cqrs-sample juga merupakan sumber yang bagus. Ditulis dengan Java, Spring dan JPA.
Tautan yang diperbarui: https://github.com/BottegaIT/ddd-leaven-v2
sumber
Code Camp Server , contoh kode Jeffrey Palermo untuk buku ASP.NET MVC in Action . Sementara buku difokuskan pada lapisan presentasi, aplikasi dimodelkan menggunakan DDD.
sumber