SlideShare uma empresa Scribd logo
1 de 28
De 2012 à 2014
Ivan Paulovich
www.100loop.com
Linguagem Ubíqua
Domain
experts
Palavras e verbos que refletem a semântica
do negócio limitados a um contexto.
Equipe de
Devs
Linguagem
Ubíqua
Linguagem Ubíqua
Linguagem
Ubíqua
Conceitos chave
de negócio
Bounded Contexts DDD Patterns
Termos técnicos
Design Patterns
Técnicos
Aspectos técnicos
da modelagem
Termos de negócio que
devs não entendem
Conceitos de negócio
que não são o foco
Bounded Context
https://martinfowler.com/bliki/BoundedContext.html
Context Map
Relacionamentos
• Partnership
• Shared Kernel
• Open Host Service
• Customer/Supplier
• Big Ball Of Mud
• Conformist
• Anticorruption Layer
• Separate Ways
• Published Language
Estilos Arquiteturais
Estilos Arquiteturais
Estilos Arquiteturais
Estilos Arquiteturais
Estilos Arquiteturais
Agregações
• Um grupo de entidades e tipos de valor relacionados
• Define um escopo de transação e de tratamento de
concorrência
• Um Bounded Context terá múltiplas agregações
Domain Events
https://www.slideshare.net/WEBtlak/introduction-to-ddd-adam-tipk
http://bradley-holt.com/2012/11/domain-driven-design-at-zendcon-
2012/
https://channel9.msdn.com/Events/TechEd/Europe/2014/DEV-B211
https://www.slideshare.net/ChinhNguyen49/modern-software-
architecturedomain-models-cqrs-and-event-sourcing-notes
https://pt.slideshare.net/shadrik/domain-driven-design-52410778
https://vaughnvernon.co/?p=879

Mais conteúdo relacionado

Semelhante a Introdução ao Domain-Driven-Design (DDD)

Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Rafael Prallon
 
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaUtilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaCleiton Felipe Moraes
 
Overview Governança SOA - HP Brazil
Overview Governança SOA - HP BrazilOverview Governança SOA - HP Brazil
Overview Governança SOA - HP BrazilNorberto Enomoto
 
Qual Parafuso Apertar? Como ter Sucesso em seu Projeto de SEO - Search Master...
Qual Parafuso Apertar? Como ter Sucesso em seu Projeto de SEO - Search Master...Qual Parafuso Apertar? Como ter Sucesso em seu Projeto de SEO - Search Master...
Qual Parafuso Apertar? Como ter Sucesso em seu Projeto de SEO - Search Master...Alex Pelati
 
Apresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumApresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumRafael Cruz, MCT, MBA
 
Uma introdução ao Domain Driven Design
Uma introdução ao Domain Driven DesignUma introdução ao Domain Driven Design
Uma introdução ao Domain Driven DesignLambda3
 
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é
 
TDC 2010 - SharePoint Server 2010
TDC 2010 - SharePoint Server 2010TDC 2010 - SharePoint Server 2010
TDC 2010 - SharePoint Server 2010Hélio Sá Moreira
 
Domain-Driven-Design
Domain-Driven-DesignDomain-Driven-Design
Domain-Driven-DesignWende Mendes
 
Domain-Driven-Design
 Domain-Driven-Design Domain-Driven-Design
Domain-Driven-DesignWende Mendes
 
Meetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por ExemploMeetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por ExemploSamanta Cicilia
 
APIs Atributos e Tecnologia
APIs Atributos e TecnologiaAPIs Atributos e Tecnologia
APIs Atributos e TecnologiaFábio Rosato
 
Agência Web - ADDTECH
Agência Web - ADDTECHAgência Web - ADDTECH
Agência Web - ADDTECH.add
 
Domain Driven Design - Aplicando estrategias e padrões
Domain Driven Design - Aplicando estrategias e padrõesDomain Driven Design - Aplicando estrategias e padrões
Domain Driven Design - Aplicando estrategias e padrõesJoao Paulo Oliveira dos Santos
 

Semelhante a Introdução ao Domain-Driven-Design (DDD) (20)

Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...
 
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaUtilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
 
Domain driven-design
Domain driven-designDomain driven-design
Domain driven-design
 
Overview Governança SOA - HP Brazil
Overview Governança SOA - HP BrazilOverview Governança SOA - HP Brazil
Overview Governança SOA - HP Brazil
 
Qual Parafuso Apertar? Como ter Sucesso em seu Projeto de SEO - Search Master...
Qual Parafuso Apertar? Como ter Sucesso em seu Projeto de SEO - Search Master...Qual Parafuso Apertar? Como ter Sucesso em seu Projeto de SEO - Search Master...
Qual Parafuso Apertar? Como ter Sucesso em seu Projeto de SEO - Search Master...
 
Apresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumApresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e Selenium
 
Uma introdução ao Domain Driven Design
Uma introdução ao Domain Driven DesignUma introdução ao Domain Driven Design
Uma introdução ao 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)
 
TDC 2010 - SharePoint Server 2010
TDC 2010 - SharePoint Server 2010TDC 2010 - SharePoint Server 2010
TDC 2010 - SharePoint Server 2010
 
Introdução a Domain-Driven Design
Introdução a Domain-Driven DesignIntrodução a Domain-Driven Design
Introdução a Domain-Driven Design
 
Domain driven design - Visão Geral
Domain driven design - Visão GeralDomain driven design - Visão Geral
Domain driven design - Visão Geral
 
Domain-Driven-Design
Domain-Driven-DesignDomain-Driven-Design
Domain-Driven-Design
 
Domain-Driven-Design
 Domain-Driven-Design Domain-Driven-Design
Domain-Driven-Design
 
Meetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por ExemploMeetup SP - O QA & a Especificação Por Exemplo
Meetup SP - O QA & a Especificação Por Exemplo
 
APIs Atributos e Tecnologia
APIs Atributos e TecnologiaAPIs Atributos e Tecnologia
APIs Atributos e Tecnologia
 
BDD
BDDBDD
BDD
 
Soa conceitos
Soa conceitosSoa conceitos
Soa conceitos
 
Agência Web - ADDTECH
Agência Web - ADDTECHAgência Web - ADDTECH
Agência Web - ADDTECH
 
Tdd On Rails
Tdd On RailsTdd On Rails
Tdd On Rails
 
Domain Driven Design - Aplicando estrategias e padrões
Domain Driven Design - Aplicando estrategias e padrõesDomain Driven Design - Aplicando estrategias e padrões
Domain Driven Design - Aplicando estrategias e padrões
 

Mais de Ivan Paulovich

DDD Tactical Design with Clean Architecture - Ivan Paulovich
DDD Tactical Design with Clean Architecture - Ivan PaulovichDDD Tactical Design with Clean Architecture - Ivan Paulovich
DDD Tactical Design with Clean Architecture - Ivan PaulovichIvan Paulovich
 
Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipClean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipIvan Paulovich
 
Clean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovichClean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovichIvan Paulovich
 
Building rich domain models with ddd and tdd ivan paulovich - betsson
Building rich domain models with ddd and tdd   ivan paulovich - betssonBuilding rich domain models with ddd and tdd   ivan paulovich - betsson
Building rich domain models with ddd and tdd ivan paulovich - betssonIvan Paulovich
 
Moving to Microservices
Moving to MicroservicesMoving to Microservices
Moving to MicroservicesIvan Paulovich
 
Produzindo e consumindo um stream de eventos
Produzindo e consumindo um stream de eventosProduzindo e consumindo um stream de eventos
Produzindo e consumindo um stream de eventosIvan Paulovich
 
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...Ivan Paulovich
 
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crechesComo uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crechesIvan Paulovich
 
Aggregates com Event Sourcing
Aggregates com Event SourcingAggregates com Event Sourcing
Aggregates com Event SourcingIvan Paulovich
 
Princípios SOLID de OO usando .NET
Princípios SOLID de OO usando .NETPrincípios SOLID de OO usando .NET
Princípios SOLID de OO usando .NETIvan Paulovich
 
Utilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BHUtilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BHIvan Paulovich
 
Windows Azure Mobile Services InfoTech 2014
Windows Azure Mobile Services InfoTech 2014Windows Azure Mobile Services InfoTech 2014
Windows Azure Mobile Services InfoTech 2014Ivan Paulovich
 
Mercado de ti e suas oportunidades
Mercado de ti e suas oportunidadesMercado de ti e suas oportunidades
Mercado de ti e suas oportunidadesIvan Paulovich
 
Construindo Apps Com SignalR
Construindo Apps Com SignalRConstruindo Apps Com SignalR
Construindo Apps Com SignalRIvan Paulovich
 
Construindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalRConstruindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalRIvan Paulovich
 
Construindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalRConstruindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalRIvan Paulovich
 
Levando sua aplicação para a nuvem
Levando sua aplicação para a nuvemLevando sua aplicação para a nuvem
Levando sua aplicação para a nuvemIvan Paulovich
 
Conhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web APIConhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web APIIvan Paulovich
 
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e JavascriptCriando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e JavascriptIvan Paulovich
 

Mais de Ivan Paulovich (19)

DDD Tactical Design with Clean Architecture - Ivan Paulovich
DDD Tactical Design with Clean Architecture - Ivan PaulovichDDD Tactical Design with Clean Architecture - Ivan Paulovich
DDD Tactical Design with Clean Architecture - Ivan Paulovich
 
Clean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software CraftsmanshipClean Architecture Essentials - Stockholm Software Craftsmanship
Clean Architecture Essentials - Stockholm Software Craftsmanship
 
Clean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovichClean Architecture Essentials @ivanpaulovich
Clean Architecture Essentials @ivanpaulovich
 
Building rich domain models with ddd and tdd ivan paulovich - betsson
Building rich domain models with ddd and tdd   ivan paulovich - betssonBuilding rich domain models with ddd and tdd   ivan paulovich - betsson
Building rich domain models with ddd and tdd ivan paulovich - betsson
 
Moving to Microservices
Moving to MicroservicesMoving to Microservices
Moving to Microservices
 
Produzindo e consumindo um stream de eventos
Produzindo e consumindo um stream de eventosProduzindo e consumindo um stream de eventos
Produzindo e consumindo um stream de eventos
 
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crec...
 
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em crechesComo uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
Como uma aplicação baseada em fluxo de dados pode ampliar a segurança em creches
 
Aggregates com Event Sourcing
Aggregates com Event SourcingAggregates com Event Sourcing
Aggregates com Event Sourcing
 
Princípios SOLID de OO usando .NET
Princípios SOLID de OO usando .NETPrincípios SOLID de OO usando .NET
Princípios SOLID de OO usando .NET
 
Utilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BHUtilize o vso e publique imagens docker Global Azure Bootcamp - BH
Utilize o vso e publique imagens docker Global Azure Bootcamp - BH
 
Windows Azure Mobile Services InfoTech 2014
Windows Azure Mobile Services InfoTech 2014Windows Azure Mobile Services InfoTech 2014
Windows Azure Mobile Services InfoTech 2014
 
Mercado de ti e suas oportunidades
Mercado de ti e suas oportunidadesMercado de ti e suas oportunidades
Mercado de ti e suas oportunidades
 
Construindo Apps Com SignalR
Construindo Apps Com SignalRConstruindo Apps Com SignalR
Construindo Apps Com SignalR
 
Construindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalRConstruindo apps de tempo real com SignalR
Construindo apps de tempo real com SignalR
 
Construindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalRConstruindo Apps com ASP.NET SignalR
Construindo Apps com ASP.NET SignalR
 
Levando sua aplicação para a nuvem
Levando sua aplicação para a nuvemLevando sua aplicação para a nuvem
Levando sua aplicação para a nuvem
 
Conhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web APIConhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web API
 
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e JavascriptCriando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
 

Introdução ao Domain-Driven-Design (DDD)