Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Aanbeveling
Deze inhoud is een fragment uit het eBook, .NET Microservices Architecture for Containerized .NET Applications, beschikbaar op .NET Docs of als een gratis downloadbare PDF die offline kan worden gelezen.
Ontwerp een domeinmodel voor elke microservice of gebonden context die inzicht geeft in het bedrijfsdomein.
Deze sectie richt zich op geavanceerdere microservices die u implementeert wanneer u complexe subsystemen moet aanpakken of microservices die zijn afgeleid van de kennis van domeinexperts met steeds veranderende bedrijfsregels. De architectuurpatronen die in deze sectie worden gebruikt, zijn gebaseerd op domeingestuurd ontwerp (DDD) en CQRS-benaderingen (Command and Query Responsibility Segregation), zoals geïllustreerd in afbeelding 7-1.
Verschil tussen externe architectuur: microservicepatronen, API-gateways, tolerante communicatie, pub/sub, enzovoort, en interne architectuur: gegevensgestuurd/CRUD, DDD-patronen, afhankelijkheidsinjectie, meerdere bibliotheken, enzovoort.
Afbeelding 7-1. Architectuur van externe microservices versus interne architectuurpatronen voor elke microservice
De meeste technieken voor gegevensgestuurde microservices, zoals het implementeren van een ASP.NET Core Web API-service of het beschikbaar maken van Swagger-metagegevens met Swashbuckle of NSwag, zijn echter ook van toepassing op de geavanceerdere microservices die intern worden geïmplementeerd met DDD-patronen. Deze sectie is een uitbreiding van de vorige secties, omdat de meeste eerder beschreven procedures hier of voor elk soort microservice ook van toepassing zijn.
In deze sectie vindt u eerst informatie over de vereenvoudigde CQRS-patronen die worden gebruikt in de referentietoepassing eShopOnContainers. Later krijgt u een overzicht van de DDD-technieken waarmee u algemene patronen kunt vinden die u in uw toepassingen opnieuw kunt gebruiken.
DDD is een groot onderwerp met een uitgebreide set resources voor leren. U kunt beginnen met boeken zoals Domain-Driven Design van Eric Evans en extra materialen van Vaughn Vernon, Jimmy Nilsson, Greg Young, Udi Dahan, Jimmy Bogard en vele andere DDD/CQRS-experts. Maar u moet vooral leren hoe u DDD-technieken kunt toepassen op de gesprekken, whiteboarding en domeinmodelleringssessies met de experts in uw concrete bedrijfsdomein.
Aanvullende bronnen
DDD (Domain-Driven ontwerp)
Eric Evans. Domeintaal
https://domainlanguage.com/Martin Fowler. Domain-Driven Ontwerp
https://martinfowler.com/tags/domain%20driven%20design.htmlJimmy Bogard. Uw domein versterken: een primer
https://lostechies.com/jimmybogard/2010/02/04/strengthening-your-domain-a-primer/Webinar over gedistribueerd Domain-Driven ontwerpen
https://particular.net/webinars/ddd-design-no-nonsense-implementation-guide
DDD-boeken
Eric Evans. Domain-Driven Ontwerp: Complexiteit aanpakken in het hart van software
https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/Eric Evans. Domain-Driven Ontwerpreferentie: definities en patroonsamenvattingen
https://www.amazon.com/Domain-Driven-Design-Reference-Definitions-2014-09-22/dp/B01N8YB4ZO/Vaughn Vernon. Domain-Driven-ontwerp implementeren
https://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/Vaughn Vernon. Domain-Driven Design tot de essentie geperfectioneerd
https://www.amazon.com/Domain-Driven-Design-Distilled-Vaughn-Vernon/dp/0134434420/Jimmy Nilsson. Toepassen van Domain-Driven ontwerp en patronen
https://www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202/Caesar de la Torre. N-gelaagde Domain-Oriented-architectuurhandleiding met .NET
https://www.amazon.com/N-Layered-Domain-Oriented-Architecture-Guide-NET/dp/8493903612/Abel Avram en Floyd Marinescu. Domain-Driven snel ontwerpen
https://www.amazon.com/Domain-Driven-Design-Quickly-Abel-Avram/dp/1411609255/Scott Millett, Nick Tune - Patronen, Principes en Praktijken van Domain-Driven Design
https://www.wiley.com/Patterns%2C+Principles%2C+and+Practices+of+Domain+Driven+Design-p-9781118714706
DDD-training
- Julie Lerman en Steve Smith. Basisprincipes van Domain-Driven ontwerpen
https://www.pluralsight.com/courses/fundamentals-domain-driven-design