Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
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.
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)
Eric Evans. Język domeny
https://domainlanguage.com/Martin Fowler. Projekt Domain-Driven
https://martinfowler.com/tags/domain%20driven%20design.htmlJimmy Bogard. Wzmacnianie domeny: podstawy
https://lostechies.com/jimmybogard/2010/02/04/strengthening-your-domain-a-primer/Seminarium internetowe dotyczące rozproszonego projektowania Domain-Driven
https://particular.net/webinars/ddd-design-no-nonsense-implementation-guide
Książki DDD
Eric Evans. Domain-Driven Design: Walka ze złożonością w centrum oprogramowania
https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/Eric Evans. dokumentacja projektu Domain-Driven: definicje i podsumowania wzorców
https://www.amazon.com/Domain-Driven-Design-Reference-Definitions-2014-09-22/dp/B01N8YB4ZO/Vaughn Vernon. Implementowanie projektu Domain-Driven
https://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/Vaughn Vernon. Wzornictwo Domain-Driven Destylowane
https://www.amazon.com/Domain-Driven-Design-Distilled-Vaughn-Vernon/dp/0134434420/Jimmy Nilsson. Stosowanie projektowania i wzorców Domain-Driven
https://www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202/Cesar de la Torre. Przewodnik po architekturze Domain-Oriented n-warstwowej za pomocą platformy .NET
https://www.amazon.com/N-Layered-Domain-Oriented-Architecture-Guide-NET/dp/8493903612/Abel Avram i Floyd Marinescu. Domain-Driven szybkie projektowanie
https://www.amazon.com/Domain-Driven-Design-Quickly-Abel-Avram/dp/1411609255/Scott Millett, Nick Tune — wzorce, zasady i praktyki projektowania Domain-Driven
https://www.wiley.com/Patterns%2C+Principles%2C+and+Practices+of+Domain+Driven+Design-p-9781118714706
Trenowanie DDD
- Julie Lerman i Steve Smith. Podstawy projektowania Domain-Driven
https://www.pluralsight.com/courses/fundamentals-domain-driven-design