Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Suggerimento
Questo contenuto è un estratto dell'eBook, Architettura di microservizi .NET per applicazioni .NET containerizzati, disponibile in documentazione .NET o come PDF scaricabile gratuitamente leggibile offline.
Progettare un modello di dominio per ogni microservizio o contesto delimitato che riflette la comprensione del dominio aziendale.
Questa sezione è incentrata sui microservizi più avanzati implementati quando è necessario affrontare sottosistemi complessi o microservizi derivati dalla conoscenza di esperti di dominio con regole business in continua evoluzione. I modelli di architettura usati in questa sezione sono basati sugli approcci DDD (Domain Driven Design) e Command and Query Responsibility Segregation (CQRS), come illustrato nella figura 7-1.
Differenza tra architettura esterna: modelli di microservizio, gateway API, comunicazioni resilienti, pub/sub e così via, e architettura interna: basati su dati/CRUD, modelli DDD, inserimento delle dipendenze, più librerie e così via.
Figura 7-1. Architettura di microservizi esterni e modelli di architettura interna per ogni microservizio
Tuttavia, la maggior parte delle tecniche per i microservizi basati sui dati, ad esempio come implementare un servizio API Web core ASP.NET o come esporre metadati Swagger con Swashbuckle o NSwag, sono applicabili anche ai microservizi più avanzati implementati internamente con i modelli DDD. Questa sezione è un'estensione delle sezioni precedenti, perché la maggior parte delle procedure illustrate in precedenza si applicano anche qui o per qualsiasi tipo di microservizio.
Questa sezione fornisce prima informazioni dettagliate sui modelli CQRS semplificati usati nell'applicazione di riferimento eShopOnContainers. Successivamente, si otterrà una panoramica delle tecniche DDD che consentono di trovare modelli comuni che è possibile riutilizzare nelle applicazioni.
DDD è un argomento di grandi dimensioni con un set completo di risorse per l'apprendimento. È possibile iniziare con libri come Domain-Driven Design di Eric Evans e materiali aggiuntivi di Vaughn Vernon, Jimmy Nilsson, Greg Young, Udi Dahan, Jimmy Bogard e molti altri esperti DDD/CQRS. Ma soprattutto è necessario provare a imparare a applicare tecniche DDD dalle conversazioni, alle lavagne e alle sessioni di modellazione del dominio con gli esperti nel dominio aziendale concreto.
Risorse aggiuntive
DDD ( progettazioneDomain-Driven)
Eric Evans. Linguaggio di dominio
https://domainlanguage.com/Martin Fowler. Domain-Driven progettazione
https://martinfowler.com/tags/domain%20driven%20design.htmlJimmy Bogard. Rafforzamento del dominio: una guida introduttiva
https://lostechies.com/jimmybogard/2010/02/04/strengthening-your-domain-a-primer/Webinar sulla progettazione di Domain-Driven distribuita
https://particular.net/webinars/ddd-design-no-nonsense-implementation-guide
Libri DDD
Eric Evans. Domain-Driven Design: Affrontare la complessità nel cuore del software
https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/Eric Evans. Riferimento alla progettazione Domain-Driven: definizioni e riepiloghi degli schemi
https://www.amazon.com/Domain-Driven-Design-Reference-Definitions-2014-09-22/dp/B01N8YB4ZO/Vaughn Vernon. Implementazione del design Domain-Driven
https://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/Vaughn Vernon. Domain-Driven Progettazione distillata
https://www.amazon.com/Domain-Driven-Design-Distilled-Vaughn-Vernon/dp/0134434420/Jimmy Nilsson. Applicazione di modelli e progettazione di Domain-Driven
https://www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202/Cesare de la Torre. Guida all'architettura di Domain-Oriented a più livelli con .NET
https://www.amazon.com/N-Layered-Domain-Oriented-Architecture-Guide-NET/dp/8493903612/Abel Avram e Floyd Marinescu. Domain-Driven Progettare Rapidamente
https://www.amazon.com/Domain-Driven-Design-Quickly-Abel-Avram/dp/1411609255/Scott Millett, Nick Tune - Modelli, Principi e Pratiche di Domain-Driven Design
https://www.wiley.com/Patterns%2C+Principles%2C+and+Practices+of+Domain+Driven+Design-p-9781118714706
Formazione DDD
- Julie Lerman e Steve Smith. Nozioni fondamentali sulla progettazione di Domain-Driven
https://www.pluralsight.com/courses/fundamentals-domain-driven-design