Domain Driven Design: As partes que realmente importam
Este curso tem um foco forte na chamada parte estratégica do Domain Driven Design. Você vai entender de uma vez por todas o quão importante é aprofundar-se no negócio e como isso impacta na sua capacidade de materializar boas soluções.

Alberto Souza
Software e Education Engineer
Conteúdo do curso
1 módulos • 37 aulas
Seja bem vindo(a)
Aprofundando o conhecimento no domínio: Parte 1
Aprofundando o conhecimento no domínio: Exemplo prático
A relação entre especialistas de domínio e em tecnologia
A construção da linguagem ubíqua
A influência da linguagem ubíqua na escrita do código
Introdução a contextos delimitados
Definindo o problema e seus possíveis subproblemas
Como de fato criar um contexto delimitado pelo problema
Sugestões de possíveis arquiteturas para endereçar os problemas dos contextos
Decidindo entre comprar ou construir software para um determinado contexto
Existem contextos delimitados que atuam como suporte
Camada anticorrupção: Mantendo a integridade do seu contexto
Mesmos conceitos podem ser modelados de maneiras diferentes
O aprofundamento do entendimento traz a tona novos problemas
As diferentes granularidades dos contextos e suas consequências
Construindo a linguagem ubíqua dentro do contexto delimitado
Quanto mais especialista for a pessoa mais perto dos contextos core ela deve ficar
O tempo degrada tudo: Sugestões para as soluções envelhecerem mais saudáveis
Comunicando fatos entre e intra contextos: Eventos de domínio
Design tático: Visão geral
Descubra suas entidades
Discussão sobre identificador de uma entidade
Descubra se você tem um objeto de valor ou uma entidade
Um exemplo mais simples de objeto de valor
Repositórios direto ao ponto
Opinião: Anatomia de um código guiado pelo domínio
Agregados: Vamos lá...
Serviços de infraestrutura e aplicação
Tentando explicar serviços de domínio
DDD da massa: Vamos abraçar a stack de tecnologia escolhida
Opinião: Existe espaço para misturar inglês com português no código, é uma prática já
Agradecimentos! Chegar até aqui não foi fácil :)
Desafio 1: Aplicando os conceitos sobre um domínio de compra de casas usadas na cidade de São Paulo
Desafio 2: Aplicando os conceitos sobre um domínio de internação hospitalar
Desafio 3: Aplicando os conceitos sobre o domínio de contas pessoa jurídica no Brasil
Desafio 4: Aplicando os conceitos sobre o domínio de abertura de empresas de capital aberto no Brasil
O que você vai aprender
Conteúdo técnico e prático para você dominar os conceitos de escalabilidade
Seu instrutor

Alberto Souza
Software e Education Engineer
Especialista em educação como vetor de performance e qualidade de software, com foco em metodologias que aceleram o desenvolvimento de competências técnicas. Criou programas estruturados para acelerar o processo de amadurecimento de diversos times de engenharia. Sua abordagem diferenciada combina aprendizagem estruturada, prática intencional e aplicação em projetos reais. Atuou como Senior Staff Engineer no Nubank, foi Diretor de Tecnologia e Educação na Zup e sócio-fundador da Alura.

