Objetivos da Formação:
Dar a conhecer aos formandos os conceitos fundamentais do Domain-Driven Design (DDD) aplicados ao desenvolvimento em Java. Ao longo das sessões, os participantes vão explorar e implementar na prática os principais padrões estratégicos e táticos, como Entidades, Value Objects, Aggregates, Serviços de Domínio e Repositórios, culminando num mini-projeto representativo de um domínio realista.
Programa:
Sessão 01: Introdução ao DDD e modelação inicial do domínio
- Apresentação dos fundamentos do DDD e sua motivação em sistemas complexos;
- Introdução prática à linguagem ubíqua e criação colaborativa de um modelo de domínio simples com identificação de conceitos-chave (entidades, VO, regras de negócio).
Sessão 02: Contextos delimitados e início da modelação tática
- Identificação de Bounded Contexts e mapeamento de fronteiras do domínio.
- Início da implementação prática com Java: definição de Entidades e Value Objects, com foco em imutabilidade, identidade e regras de consistência.
Sessão 03: Aggregates, Repositórios e Invariantes
- Desenho e implementação de Aggregates e regras de consistência transacional.
- Aplicação do padrão Repositório com Java para simular persistência de agregados e reforço das invariantes de negócio com testes.
Sessão 04: Serviços de domínio, eventos e integração na aplicação
- Implementação de Serviços de Domínio e gestão de Eventos de Domínio.
- Integração com a camada de aplicação (Application Services), completando um mini-projeto funcional com exemplos de boas práticas de arquitetura orientada ao domínio.
Calendário da Formação:
04 de novembro de 2025 | 19h00 – 21h00
06 de novembro de 2025 | 19h00 – 21h00
11 de novembro de 2025 | 19h00 – 21h00
13 de novembro de 2025 | 19h00 – 21h00
+ Informações: https://academy.findmore.pt/domain-driven-design-with-java-and-spring/