Pertanyaan yang diberi tag «cqrs»

Pola desain segregasi

2
Mengapa pisahkan class CommandHandler dengan Handle () alih-alih metode penanganan di Command itu sendiri
Saya memiliki bagian dari pola CQRS yang diimplementasikan menggunakan Arsitektur S # arp seperti ini: public class MyCommand { public CustomerId { get; set; } // some other fields } public class MyCommandHandler<MyCommand> : ICommandHandler<MyCommand, CommandResult> { Handle(MyCommand command) { // some code for saving Customer entity return CommandResult.Success; } …

3
Apakah Objek Domain dalam Desain Berbasis Domain hanya seharusnya hanya untuk penulisan?
Saya telah membaca tentang Desain Berbasis Domain selama hampir dua tahun dan telah dengan hati-hati memperkenalkan beberapa konsep dalam pekerjaan sehari-hari saya atau setidaknya membuat rencana untuk bagaimana hal-hal yang saya lakukan secara teratur dapat dilakukan dalam Desain Berbasis Domain. Salah satu kesimpulan yang saya mulai datang terutama dalam menanggapi …

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
CQRS tanpa DDD dan tanpa (atau dengan?) ES - apa itu model tulis dan apa model yang dibaca?
Sejauh yang saya mengerti, ide besar di balik CQRS adalah memiliki 2 model data yang berbeda untuk menangani perintah dan permintaan. Ini disebut "model tulis" dan "model baca". Mari kita perhatikan contoh klon aplikasi Twitter. Berikut adalah perintahnya: Pengguna dapat mendaftar sendiri. CreateUserCommand(string username)memancarkanUserCreatedEvent Pengguna dapat mengikuti pengguna lain. FollowUserCommand(int …
11 cqrs  read-model 

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 …



3
Saya harus berkompromi: KERING, atau Command-Query-Separation?
Saya baru-baru ini refactoring metode yang merupakan perintah dan metode permintaan. Setelah memisahkannya menjadi metode satu perintah dan satu metode kueri, saya menemukan bahwa sekarang ada beberapa tempat dalam kode tempat saya memanggil perintah lalu mendapatkan nilai dari kueri, yang sepertinya merupakan pelanggaran prinsip KERING. Tetapi jika saya harus membungkus …

2
Penangan perintah dan DDD
Saya memiliki aplikasi ASP.NET MVC, yang menggunakan layanan kueri untuk mendapatkan data dan layanan perintah untuk mengirim perintah. Pertanyaan saya adalah tentang bagian perintah. Jika permintaan masuk, layanan perintah menggunakan dispatcher perintah yang akan merutekan perintah ke penangan perintah yang ditunjuk. Penangan perintah ini memvalidasi perintah terlebih dahulu dan jika …


4
Di mana objek dalam CQRS + ES harus sepenuhnya diinisialisasi: di konstruktor, atau ketika menerapkan acara pertama?
Tampaknya ada kesepakatan luas dalam komunitas OOP bahwa konstruktor kelas tidak boleh meninggalkan objek sebagian atau bahkan sepenuhnya diinisialisasi. Apa yang saya maksud dengan "inisialisasi"? Secara kasar, proses atom yang membawa objek yang baru dibuat ke dalam keadaan di mana semua kelas invariannya bertahan. Ini harus menjadi hal pertama yang …

2
Konstruktor argumen nol dan entitas Selalu Valid
Saya telah melakukan banyak membaca baru-baru ini tentang entitas domain Always Valid. Saya menjadi percaya bahwa untuk memastikan entitas selalu valid saya perlu: 1) Hapus obsesi primitif dan masukkan aturan validasi / domain dalam konstruktor objek nilai seperti yang dijelaskan di sini: https://enterprisecraftsmanship.com/2016/09/13/validation-and-ddd/ . 2) Masukkan aturan validasi / domain …

2
Di mana Anda harus memvalidasi keadaan agregat “lainnya”?
Skenario: Pelanggan memesan, kemudian, setelah menerima produk, memberikan umpan balik pada proses pemesanan. Asumsikan akar agregat berikut: Pelanggan Memesan Umpan balik Berikut adalah aturan bisnisnya: Seorang pelanggan hanya dapat memberikan umpan balik atas pesanan mereka sendiri, bukan milik orang lain. Pelanggan hanya dapat memberikan umpan balik jika pesanan telah dibayar. …

2
Sumber acara, pemutaran ulang, dan versi
Saya merancang sistem yang menggunakan Pengadaan Acara, CQRS, dan layanan mikro. Saya mengerti bahwa ini bukan pola yang tidak biasa. Fitur utama dari layanan ini adalah kemampuan untuk merehidrasi / memulihkan dari sistem catatan. Layanan Microsoft akan menghasilkan perintah dan permintaan pada MQ (Kafka). Layanan microser lainnya akan merespons (acara). …
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.