Microserviços com Hexagonal Architecture DDD TDD CQRS SOLID
Utilizando DDD, Hexagonal architecture com CQRS para desenvolvimento moderno de microserviços e aplicações web testáveis
Description
Neste curso prático mas com boa base teórica você irá aprender a utilizar técnicas altamente avançadas de desenvolvimento de micro serviços ou aplicações web utilizando:
DDD ( Domain Driven Design ), utilizando alguns dos seus conceitos chave como Dtos, ValueObjects, Entities and Models, Aggregators, definição de bounded context etc
Hexagonal Architecture como padrão arquitetural principal no entanto faremos um paralelo constante com a Clean Architecture
TDD, onde o foco será a escrita de código altamente testável
CQRS para separação de comandos e queries, de forma que quando for desejável pode-se separar leitura e escrita em bancos separados, ou até mesmo em micro serviços separados
SOLID principles, onde o mesmo será a base para organização e definição de padrões mínimos de qualidade do código, visando principalmente single responsability principle, open and close principle e dependency inversion com injeção de dependência
State machine patterns, iremos utilizar este poderisissimo pattern para mudança de estado de entidades + 100% de unit test coverrage
Result Pattern para comunicação entre camadas
Null pattern para controle de fluxo de exceções
Injeção de dependência
Entity framework + migrations
Feature sliding
Além disso, adquirirá uma boa noção de design de micro serviços do ponto de vista de determinar o escopo de cada um, como ele interage com outros micro serviços, como são organizadas as suas camadas, como as camadas comunicam-se umas com as outras e muito mais.
What You Will Learn!
- Modelar e desenhar sistemas web baseados em microserviços definindo dependencias, fluxo de comunicação, definição de responsabilidades e etc
- Utilizar Hexagonal architecture para desenvolvimento de microserviços testaveis e com baixo acoplamento
- Utilizar alguns conceitos de DDD para definir e modelar microserviços como bounded context, DTOs, ValueObjects, Aggregators etc
- Utilizar CQRS para separar comandos e queries de seus microserviços
- Escrever unit tests que REALMENTE agregam valor e protegem sua aplição
Who Should Attend!
- Programadores e Engenheiros de software
- Profissionais buscando expandir sua experiência com conhecimentos mais avançados