SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
DDD aplicado a
um microserviço Go
Domain
Driven
Design
O domínio
INTRODUÇÃO
linguagem ubíqua
Motivação
Escolhendo DDD
Detalhes da
Arquitetura
Motivação
Como tudo
começou
MOTIVAÇÃO
Como tudo
começou
MOTIVAÇÃO
Como tudo
começou
MOTIVAÇÃO
Desafio
manutenibilidade
MOTIVAÇÃO
simplicidade
Escolhendo
DDD
Escolhendo
DDD
manutenabilidade
ESCOLHENDO DDD
Complexo
Escolhendo
DDD
manutenabilidade
ESCOLHENDO DDD
Complexo
Será mesmo?
Domain
Driven
Design
ESCOLHENDO DDD
Domain
Driven
Design
Serviços
ESCOLHENDO DDD
Infra
Interfaces
Entidades
Arquitetura
Estrutura de
Pastas
Design Flat
ESTRUTURA
Domain Types
&
Interfaces
ESTRUTURA
Domain
Packages
(serviços)
ESTRUTURA
Infra
Packages
ESTRUTURA
Exemplos de
Implementação
ESTRUTURA
contracts.go
ESTRUTURA
contracts.go
ESTRUTURA
domain/entities.go:
ESTRUTURA
domain/entities.go:
ESTRUTURA
domain/entities.go:
ESTRUTURA
domain/notifsender/notifsender.go:
ESTRUTURA
infra/sendgrid/sendgrid.go:
ESTRUTURA
cmd/api/main.go:
Referências
Algumas
Referências
REFERÊNCIAS
OBRIGADO.
Vinícius Garcia & Fabio Rodrigues
/ vingarcia / fabiorodrigues
Slide ddd

Mais conteúdo relacionado

Semelhante a Slide ddd

Domain driven design na Prática
Domain driven design na PráticaDomain driven design na Prática
Domain driven design na PráticaDouglas Aguiar
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlabJackson F. de A. Mafra
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Renato Groffe
 
Entendendo Domain-Driven Design
Entendendo Domain-Driven DesignEntendendo Domain-Driven Design
Entendendo Domain-Driven DesignRafael Ponte
 
Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018Renato Groff
 
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDOARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDOEstevão Hess
 
Php Conf08 Enterprise Patterns
Php Conf08 Enterprise PatternsPhp Conf08 Enterprise Patterns
Php Conf08 Enterprise PatternsWildtech
 
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Luciano Condé
 
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2André Dias
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesAdriano Teixeira de Souza
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...Renato Groffe
 
Net Place - Apresentação Institucional
Net Place - Apresentação InstitucionalNet Place - Apresentação Institucional
Net Place - Apresentação InstitucionalRogerio Fernandes
 
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010Fabian Gehrke
 
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Renato Groff
 
Migração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWSMigração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWSAmazon Web Services LATAM
 

Semelhante a Slide ddd (20)

Domain driven design na Prática
Domain driven design na PráticaDomain driven design na Prática
Domain driven design na Prática
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlab
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
 
Entendendo Domain-Driven Design
Entendendo Domain-Driven DesignEntendendo Domain-Driven Design
Entendendo Domain-Driven Design
 
Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018
 
Iniciando com DDD
Iniciando com DDDIniciando com DDD
Iniciando com DDD
 
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDOARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
 
Php Conf08 Enterprise Patterns
Php Conf08 Enterprise PatternsPhp Conf08 Enterprise Patterns
Php Conf08 Enterprise Patterns
 
DDD - Domain Driven Design
DDD - Domain Driven DesignDDD - Domain Driven Design
DDD - Domain Driven Design
 
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2
Tudo o que você precisa saber sobre Scrum e Visual Studio ALM – Parte 1/2
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web Services
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
 
Net Place - Apresentação Institucional
Net Place - Apresentação InstitucionalNet Place - Apresentação Institucional
Net Place - Apresentação Institucional
 
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
TDC 2011 Goiânia - Desenvolvendo a Integração do Windows Azure e SharePoint 2010
 
DDD e Restful SOA
DDD e Restful SOADDD e Restful SOA
DDD e Restful SOA
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
 
Migração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWSMigração de máquinas virtuais e recuperação de desastres na AWS
Migração de máquinas virtuais e recuperação de desastres na AWS