Udostępnij za pośrednictwem


Rozwiązywanie problemów ze złożonością biznesową w mikrousłudze za pomocą wzorców DDD i CQRS

Wskazówka

Ta treść jest fragmentem eBooka "Architektura mikrousług .NET dla konteneryzowanych aplikacji .NET", dostępnego na .NET Docs lub jako bezpłatny plik PDF do pobrania i czytania w trybie offline.

Miniatura okładki eBooka „Architektura mikrousług platformy .NET dla konteneryzowanych aplikacji platformy .NET”.

Zaprojektuj model domeny dla każdej mikrousługi lub kontekstu ograniczonego, który odzwierciedla zrozumienie domeny biznesowej.

W tej sekcji skupiono się na bardziej zaawansowanych mikrousługach, które implementujesz, gdy trzeba radzić sobie ze złożonymi podsystemami lub mikrousługami pochodzącymi z wiedzy ekspertów z dziedziny z ciągle zmieniającymi się regułami biznesowymi. Wzorce architektury używane w tej sekcji są oparte na projektach opartych na domenach (DDD) i podejściach podziału odpowiedzialności poleceń i zapytań (CQRS), jak pokazano na rysunku 7-1.

Diagram przedstawiający porównanie wzorców architektury zewnętrznej i wewnętrznej.

Różnica między architekturą zewnętrzną: wzorce mikrousług, bramy interfejsu API, komunikacja odporna na błędy, pub/sub itp., a architekturą wewnętrzną: architektura oparta na danych/CRUD, wzorce DDD, wstrzykiwanie zależności, wiele bibliotek itp.

Rysunek 7–1. Zewnętrzna architektura mikrousług a wzorce architektury wewnętrznej dla każdej mikrousługi

Jednak większość technik mikrousług opartych na danych, takich jak implementowanie usługi internetowego interfejsu API platformy ASP.NET Core lub uwidaczniania metadanych struktury Swagger za pomocą struktury Swashbuckle lub NSwag, ma również zastosowanie do bardziej zaawansowanych mikrousług implementowanych wewnętrznie za pomocą wzorców DDD. Ta sekcja jest rozszerzeniem poprzednich sekcji, ponieważ większość opisanych wcześniej praktyk stosuje się tutaj lub dla dowolnego rodzaju mikrousługi.

Ta sekcja zawiera szczegółowe informacje na temat uproszczonych wzorców CQRS używanych w aplikacji referencyjnej eShopOnContainers. Później poznasz techniki DDD, które umożliwiają znajdowanie typowych wzorców, które można ponownie użyć w aplikacjach.

DDD to duży temat z bogatym zestawem zasobów do nauki. Możesz zacząć od książek, takich jak Domain-Driven Design przez Eric Evans i dodatkowe materiały od Vaughn Vernon, Jimmy Nilsson, Greg Young, Udi Dahan, Jimmy Bogard i wielu innych ekspertów DDD / CQRS. Ale przede wszystkim musisz spróbować dowiedzieć się, jak zastosować techniki DDD z konwersacji, tablic i modelowania domeny z ekspertami w danej domenie biznesowej.

Dodatkowe zasoby

DDD (projektDomain-Driven)
Książki DDD
Trenowanie DDD