Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Petunjuk / Saran
Konten ini adalah kutipan dari eBook, Arsitektur Layanan Mikro .NET untuk Aplikasi .NET Kontainer, tersedia di .NET Docs atau sebagai PDF gratis yang dapat diunduh yang dapat dibaca secara offline.
Desain model domain untuk setiap layanan mikro atau Konteks Terikat yang mencerminkan pemahaman tentang domain bisnis.
Bagian ini berfokus pada layanan mikro yang lebih canggih yang Anda terapkan ketika Anda perlu mengatasi subsistem kompleks, atau layanan mikro yang berasal dari pengetahuan pakar domain dengan aturan bisnis yang terus berubah. Pola arsitektur yang digunakan di bagian ini didasarkan pada pendekatan desain berbasis domain (DDD) dan Command and Query Responsibility Segregation (CQRS), seperti yang diilustrasikan dalam Gambar 7-1.
Perbedaan antara arsitektur eksternal: pola layanan mikro, gateway API, komunikasi yang tahan banting, pub/sub, dll., dan arsitektur internal: berbasis data/CRUD, pola DDD, injeksi dependensi, beberapa pustaka, dll.
Gambar 7-1. Arsitektur layanan mikro eksternal versus pola arsitektur internal untuk setiap layanan mikro
Namun, sebagian besar teknik untuk layanan mikro berbasis data, seperti cara menerapkan layanan ASP.NET Core Web API atau cara mengekspos metadata Swagger dengan Swashbuckle atau NSwag, juga berlaku untuk layanan mikro yang lebih canggih yang diterapkan secara internal dengan pola DDD. Bagian ini adalah ekstensi dari bagian sebelumnya, karena sebagian besar praktik yang dijelaskan sebelumnya juga berlaku di sini atau untuk segala jenis layanan mikro.
Bagian ini pertama-tama memberikan detail tentang pola CQRS yang disederhanakan yang digunakan dalam aplikasi referensi eShopOnContainers. Nantinya, Anda akan mendapatkan gambaran umum tentang teknik DDD yang memungkinkan Anda menemukan pola umum yang dapat Anda gunakan kembali di aplikasi Anda.
DDD adalah topik besar dengan sekumpulan sumber daya yang kaya untuk pembelajaran. Anda dapat memulai dengan buku-buku seperti Domain-Driven Design oleh Eric Evans dan materi tambahan dari Vaughn Vernon, Jimmy Nilsson, Greg Young, Udi Dahan, Jimmy Bogard, dan banyak ahli DDD/CQRS lainnya. Namun yang paling penting adalah Anda perlu mencoba mempelajari cara menerapkan teknik DDD dari percakapan, penggunaan papan tulis, dan sesi pemodelan domain dengan para ahli di domain bisnis konkret Anda.
Sumber daya tambahan
DDD (DesainDomain-Driven)
Eric Evans. Bahasa Domain
https://domainlanguage.com/Martin Fowler. Desain Domain-Driven
https://martinfowler.com/tags/domain%20driven%20design.htmlJimmy Bogard. Memperkuat domain Anda: panduan dasar
https://lostechies.com/jimmybogard/2010/02/04/strengthening-your-domain-a-primer/Webinar Desain Domain-Driven Terdistribusi
https://particular.net/webinars/ddd-design-no-nonsense-implementation-guide
Buku DDD
Eric Evans. Desain Domain-Driven: Mengatasi Kompleksitas di Jantung Perangkat Lunak
https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/Eric Evans. Referensi Desain Domain-Driven: Definisi dan Ringkasan Pola
https://www.amazon.com/Domain-Driven-Design-Reference-Definitions-2014-09-22/dp/B01N8YB4ZO/Vaughn Vernon. Menerapkan Desain Domain-Driven
https://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/Vaughn Vernon. Desain Domain-Driven Distilled
https://www.amazon.com/Domain-Driven-Design-Distilled-Vaughn-Vernon/dp/0134434420/Jimmy Nilsson. Menerapkan Desain dan Pola Domain-Driven
https://www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202/Cesar de la Torre. Panduan Arsitektur Domain-Oriented Berlapis N dengan .NET
https://www.amazon.com/N-Layered-Domain-Oriented-Architecture-Guide-NET/dp/8493903612/Abel Avram dan Floyd Marinescu. Domain-Driven Desain Dengan Cepat
https://www.amazon.com/Domain-Driven-Design-Quickly-Abel-Avram/dp/1411609255/Scott Millett, Nick Tune - Pola, Prinsip, dan Praktik Desain Domain-Driven
https://www.wiley.com/Patterns%2C+Principles%2C+and+Practices+of+Domain+Driven+Design-p-9781118714706
Pelatihan DDD
- Julie Lerman dan Steve Smith. Dasar-Dasar Desain Domain-Driven
https://www.pluralsight.com/courses/fundamentals-domain-driven-design