Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Dica
Esse conteúdo é um trecho do eBook, arquitetura de microsserviços do .NET para aplicativos .NET em contêineres, disponível em do .NET Docs ou como um PDF para download gratuito que pode ser lido offline.
Crie um modelo de domínio para cada microsserviço ou Contexto Limitado que reflita a compreensão do domínio de negócios.
Esta seção se concentra em microsserviços mais avançados que você implementa quando precisa lidar com subsistemas complexos ou microsserviços derivados do conhecimento de especialistas em domínio com regras de negócios em constante mudança. Os padrões de arquitetura usados nesta seção baseiam-se nas abordagens DDD (design controlado pelo domínio) e CQRS (Segregação de Responsabilidade de Comando e Consulta), conforme ilustrado na Figura 7-1.
Diferença entre arquitetura externa: padrões de microsserviço, gateways de API, comunicação resilientes, pub/sub etc. e a arquitetura interna: controlado por dados/CRUD, padrões de DDD, injeção de dependência, várias bibliotecas etc.
Figura 7-1. Arquitetura de microsserviço externo versus padrões de arquitetura interna para cada microsserviço
No entanto, a maioria das técnicas para microsserviços controlados por dados, como implementar um serviço de API Web ASP.NET Core ou como expor metadados do Swagger com Swashbuckle ou NSwag, também são aplicáveis aos microsserviços mais avançados implementados internamente com padrões DDD. Esta seção é uma extensão das seções anteriores, pois a maioria das práticas explicadas anteriormente também se aplicam aqui ou a qualquer tipo de microsserviço.
Esta seção primeiro fornece detalhes sobre os padrões CQRS simplificados usados no aplicativo de referência eShopOnContainers. Posteriormente, você obterá uma visão geral das técnicas de DDD que permitem encontrar padrões comuns que podem ser reutilizados em seus aplicativos.
DDD é um tópico grande com um conjunto avançado de recursos para aprendizado. Você pode começar com livros como Domain-Driven Design de Eric Evans e materiais adicionais de Vaughn Vernon, Jimmy Nilsson, Greg Young, Udi Dahan, Jimmy Bogard e muitos outros especialistas em DDD/CQRS. Mas, sobretudo, você precisa tentar aprender como aplicar as técnicas de DDD das sessões de conversa, de quadro de comunicações e de modelagem com os especialistas em seu domínio de negócio concreto.
Recursos adicionais
DDD ( designDomain-Driven)
Eric Evans. Idioma do Domínio
https://domainlanguage.com/Martin Fowler. Design orientado por domínio
https://martinfowler.com/tags/domain%20driven%20design.htmlJimmy Bogard. Reforçando seu domínio: informações elementares
https://lostechies.com/jimmybogard/2010/02/04/strengthening-your-domain-a-primer/Webinar Design distribuído orientado a domínio
https://particular.net/webinars/ddd-design-no-nonsense-implementation-guide
Guias sobre DDD
Eric Evans. design Domain-Driven: abordando a complexidade no coração do software
https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/Eric Evans. Referência de design Domain-Driven: definições e resumos de padrões
https://www.amazon.com/Domain-Driven-Design-Reference-Definitions-2014-09-22/dp/B01N8YB4ZO/Vaughn Vernon. Implementando um design controlado por domínio
https://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/Vaughn Vernon. Design orientado por domínio condensado
https://www.amazon.com/Domain-Driven-Design-Distilled-Vaughn-Vernon/dp/0134434420/Jimmy Nilsson. Aplicando design e padrões orientados por domínio
https://www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202/Cesar de la Torre. Guia de arquitetura orientado por domínio em N camadas com o .NET
https://www.amazon.com/N-Layered-Domain-Oriented-Architecture-Guide-NET/dp/8493903612/Abel Avram e Floyd Marinescu. Design orientado por domínio rapidamente
https://www.amazon.com/Domain-Driven-Design-Quickly-Abel-Avram/dp/1411609255/Scott Millett, Nick Tune - Padrões, Princípios e Práticas de Design Domain-Driven
https://www.wiley.com/Patterns%2C+Principles%2C+and+Practices+of+Domain+Driven+Design-p-9781118714706
Treinamento em DDD
- Julie Lerman e Steve Smith. Conceitos básicos de design de Domain-Driven
https://www.pluralsight.com/courses/fundamentals-domain-driven-design