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.

3
DDD: Di mana menempatkan penangan event domain?
Bisakah Anda memberi tahu saya pendapat Anda bahwa lapisan mana yang tepat untuk menempatkan penangan peristiwa domain di DDD? Misalnya, saya memiliki layanan aplikasi untuk menambahkan kontrak baru dan saya ingin mengirim pemberitahuan email kepada orang yang dapat dihubungi, ketika kontrak telah ditambahkan, begitu juga dengan layanan aplikasi atau layanan …

2
Dalam DDD, apakah Layanan Domain pada dasarnya hanya Pola Fasad dan / atau Mediator?
Dalam Desain Berbasis Domain, Lapisan Domain dapat memiliki beberapa layanan (tradisional). Misalnya, untuk domain Pengguna, kami mungkin memiliki: UserFactory, yang membangun objek Pengguna dengan cara yang berbeda UserRepository, yang bertanggung jawab untuk berinteraksi dengan Layanan Kegigihan di Lapisan Infrastruktur Apakah Layanan Pengguna dalam Lapisan Domain hanyalah Mediator dan / atau …

6
DDD memenuhi OOP: Bagaimana menerapkan repositori berorientasi objek?
Implementasi khas dari repositori DDD tidak terlihat sangat OO, misalnya save()metode: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Bagian infrastruktur: package com.example.infrastructure; // imports... public class JdbcProductRepo implements ProductRepo { …

2
Bagaimana sebenarnya mencari tahu apa yang harus dilakukan dalam desain berorientasi objek?
Pertama penafian: Saya tidak benar-benar tahu apakah pertanyaan ini cocok dengan situs web ini, tetapi saya masih menemukan itu pertanyaan yang relevan tidak hanya untuk saya tetapi untuk orang lain yang masih pemula. Jika pertanyaan dapat ditingkatkan agar sesuai di sini, harap tunjukkan komentar int. Jika tidak cocok, beri tahu …

2
Apakah objek Persistence-Ignorant mampu mengimplementasikan lazy loading?
Ketidaktahuan Ketekunan adalah penerapan prinsip tanggung jawab tunggal, yang dalam praktiknya berarti bahwa Objek Domain ( DO ) tidak boleh berisi kode yang terkait dengan kegigihan, alih-alih hanya berisi logika domain. a) Saya menganggap ini berarti bahwa kode yang menghubungi lapisan bawah (yaitu lapisan persistensi) hidup di luar model domain …

2
Bagaimana membuat desain ini lebih dekat dengan DDD yang tepat?
Saya sudah membaca tentang DDD selama berhari-hari sekarang dan butuh bantuan dengan desain sampel ini. Semua aturan DDD membuat saya sangat bingung dengan bagaimana saya seharusnya membangun apa saja ketika objek domain tidak diperbolehkan menunjukkan metode ke lapisan aplikasi; di mana lagi untuk mengatur perilaku? Repositori tidak diizinkan untuk disuntikkan …

4
Menghindari Objek Domain yang membengkak
Kami mencoba untuk memindahkan data dari lapisan Layanan kami ke lapisan Domain kami menggunakan pendekatan DDD. Saat ini kami memiliki banyak logika bisnis dalam layanan kami, yang tersebar di mana-mana dan tidak mendapat manfaat dari warisan. Kami memiliki kelas Domain sentral yang merupakan fokus dari sebagian besar pekerjaan kami - …

5
Jika Pola Repositori berlebihan untuk ORM modern (EF, nHibernate), apa abstraksi yang lebih baik?
Saya baru-baru ini membaca banyak argumen yang menentang penggunaan pola repositori dengan ORM seperti Entity Framework yang kuat karena menggabungkan fungsionalitas seperti repositori, bersama dengan fungsionalitas Unit Kerja juga. Argumen lain yang menentang penggunaan pola untuk situasi seperti pengujian unit adalah bahwa pola repositori adalah abstraksi yang bocor karena implementasi …

2
CQRS + Event Sourcing: (apakah benar) Perintah umumnya dikomunikasikan point-to-point, sementara Domain Events dikomunikasikan melalui pub / sub?
Saya pada dasarnya mencoba untuk membungkus kepala saya di sekitar konsep CQRS dan konsep terkait. Meskipun CQRS tidak harus memasukkan Messaging dan Event Sourcing, itu tampaknya merupakan kombinasi yang baik (seperti yang dapat dilihat dengan banyak contoh / blogpost yang menggabungkan konsep-konsep ini) Diberi kasus penggunaan untuk perubahan keadaan untuk …


2
Apakah isolasi model domain / kegigihan biasanya canggung ini?
Saya menyelami konsep-konsep Desain Domain-Driven (DDD) dan menemukan beberapa prinsip aneh, terutama mengenai isolasi domain dan model ketekunan. Inilah pemahaman dasar saya: Layanan pada lapisan aplikasi (menyediakan serangkaian fitur) meminta objek domain dari repositori yang diperlukan untuk menjalankan fungsinya. Implementasi konkret dari repositori ini mengambil data dari penyimpanan yang diimplementasikan …


1
Bagaimana perintah Tambah / Buat * harus ditangani dalam arsitektur CQRS + Event Sourcing
Saya ingin menerapkan aplikasi pertama saya menggunakan pola CQRS bersama dengan Sumber Acara. Saya bertanya-tanya bagaimana pembuatan akar agregat harus ditangani dengan benar. Katakanlah seseorang mengirim perintah CreateItem. Bagaimana penanganannya? Di mana acara ItemCreated harus disimpan? Sebagai peristiwa pertama dari Item baru? Atau haruskah saya memiliki semacam entitas ItemList yang …

1
Merancang aplikasi layanan modular
Saya sedang mencari solusi baru yang sifatnya sangat modular dan ingin membuat struktur yang mendukung desain itu untuk memudahkan ekspansi di masa depan, pemisahan masalah yang jelas, perizinan berdasarkan modul, dll. Sebagian besar dari apa yang saya miliki ditemukan di web tentang aplikasi modular atau komposit UI-sentris, berfokus pada Silverlight, …

2
Pengecualian dalam DDD
Saya belajar DDD dan saya berpikir untuk melempar pengecualian dalam situasi tertentu. Saya mengerti bahwa suatu objek tidak dapat masuk ke keadaan buruk jadi di sini pengecualiannya baik-baik saja, tetapi dalam banyak contoh pengecualian melempar juga misalnya jika kita mencoba menambahkan pengguna baru dengan email yang ada dalam database. public …

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.