SlideShare ist ein Scribd-Unternehmen logo
1 von 39
D D D
Introdução ao
@CharlesFortes
.com
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
O que é
Domain-DrivenDesign?
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
É Desenvolver Focado no
Domínio
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
É Desenvolver Focado no
Domínio
WTF?
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Domínio Segundo o Dicionário:
• Esfera de Ação; Competência;
Conhecimento.
• O conteúdo de uma área de
conhecimento.
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Domínio é a área de conhecimento do negócio.
Tudo do Software ligado ao negócio
faz parte do domínio
Locadora
Locadora
Locadora
Locadora
Locadora
Locadora
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Meu Negócio:
Locar Filmes
Fornecedor
Mídias
Filmes
Usuários
Funcionários
Dependentes
Cliente
Locação
de Filme
Reserva
de Filme
...
Cadastros de
Clientes e
Dependentes
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
NÃOfaz parte do domínio
Banco de Dadosou Frameworks para os mesmos como o
Nhibernate
Threads
Tratamentos de Excessão
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Principais Vantagens
As tecnologias mudam muito mais rápido do que o negócio
Camadas bem definidas
Responsabilidades claras e bem divididas
Manutenabilidade, Longevidade, Escalabilidade, etc...
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Principais Desvantagens
Mais tempo para desenvolver (porém poupa tempo
futuro durante a manutenção e a extensão)
Complexidade! Não é a solução para todos os problemas...
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
O Modelo e a Linguagem Ubíqua
Para o entendimento do domínio deve-se gerar um
MODELO do domínio
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
O Modelo e a Linguagem Ubíqua
MODELO
WTF? ?
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
O Modelo e a Linguagem Ubíqua
Os modelos são abstrações que visam refletir o código
Evans cita em seu livro que o modelo não pode ser "gordo" demais ao ponto de
prejudicar a compreensão do domínio.
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
O Modelo e a Linguagem Ubíqua
E o código, por sua vez, deve ser usado para detalhar o modelo.
Regras importantes devem estar expostas no modelo, e jamais escondidas no
código.
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
O Modelo e a Linguagem Ubíqua
O modelo deve ser muito claro!
Deve ser entendido absolutamente da mesma forma por qualquer
pessoa, seja ele
o usuário, o desenvolvedor, o arquiteto, o projetista, o
designer
a menina do marketing, a tia do café, etc
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
O Modelo e a Linguagem Ubíqua
Para que o modelo seja entendido é necessário uma
linguagem ubíqua!
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
O Modelo e a Linguagem Ubíqua
Para que o modelo seja entendido é necessário uma
linguagem ubíqua!
WTF?
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
O Modelo e a Linguagem Ubíqua
Uma linguagem ubíqua é uma linguagem única falada por todos os
envolvidos no projeto, de forma que a todo momento possa-se conversar sobre o projeto
sem ter de ficar traduzindo o que está sendo falado
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
O Modelo e a Linguagem Ubíqua
Tudo isso para evitar maus
entendidos
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
O Modelo e a Linguagem Ubíqua
O modelo pode ser qualquer coisa, contanto que consiga expressar de forma clara o
domínio
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Todo o domínio
(implementação) giram em torno
do modelo
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Lets Model
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
os Serviços Fabricas Entidades Objetos de Valor Repositórios ServiçosFabricas Entidades Objet
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Entidades são objetos que têm significado no domínio, possuindo uma
identidade única
Entidades
UsuárioFilme
Funcionário
Mídia
Dependente
Cliente
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
os Serviços Fabricas Entidades Objetos de Valor Repositórios Serviços Fabricas Entidades
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Objetos de Valor não tem valor direto ao negócio, e por isto
não possuem uma identidade.
Cliente
Nome
CPF
Telefone
Endereco
Usados como estrutura de
dados apenas para armazenar
valores.
Muito usados para
transporte de dados ou
composição de
objetos.
Logradouro
Numero
Bairro
etc
etc
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
os Serviços Fabricas Entidades Objetos de Valor Repositórios ServiçosFabricas Entidades Objet
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Repositóriossão responsáveis por persistir, recuperar e destruir
objetos
Fingem possuir todas as entidades na memória, para
quem utiliza não importa onde estão os
dados
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Armários de Caixas
Fingem possuir todas as entidades na memória, para
quem utiliza não importa onde estão os
dados
(Sim, foi feito no paint...)
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
os Serviços Fabricas Entidades Objetos de Valor Repositórios ServiçosFabricas Entidades Objet
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Serviços na visão do DDD consiste em um objeto que visa resolver
problemas do domínio
Para isto o “service” utiliza
Entidades, Objetos de
Valor, Repositórios,
infraestrutura, etc..
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Meu Negócio:
Locar Filmes
Locar
Filme
Reservar
Filme
Cadastrar
Cliente
Pesquisar
Filme
Etc...
Serviços na visão do DDD consiste em um objeto que visa resolver
problemas do domínio
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
os Serviços Fabricas Entidades Objetos de Valor Repositórios ServiçosFabricas Entid
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Muitas vezes criar um novo objeto para atender a um aspecto do
domínio envolve a instanciação de diversas entidades, agregações e
composições.
Quando isto se faz necessário não o fazemos dentro do
construtor da classe, passamos esta responsabilidade para
uma fábrica.
Outras vezes pode ser necessário decidir entre valores de
inicialização padrão ou mesmo da especialização da classe.
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Neste caso a especialização na construção é prática pois:
• As entidades são mapeadas em diferentes tabelas do banco de dados
• As entidades possuem diferentes validadores
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Lets Code
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0
0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0
Domain-Driven Design
Introdução ao
@CharlesFortes
.com
Concluindo...
Defina uma linguagem única, expresse o negócio do cliente de forma clara e
certifique-se que TODOS falam a mesma língua.
Implemente de forma que o código traduza de forma analítica o que está foi
modelado, para que daqui a 20 anos, quando o estagiário for mexer no fonte,
ele saiba do que se trata, e se não souber, pode consultar ao productOwner
sem problemas.
E lembre-se do princípio de fazer simples, refatorar e melhorar sempre.
Domain-Driven Design
Introdução ao
@CharlesFortes
pangeanet.org/profile/charlesfortes
br.linkedin.com/in/charlesfortes

Weitere ähnliche Inhalte

Was ist angesagt?

Oracle R12 inventory Table name details with description
Oracle R12 inventory Table name details with descriptionOracle R12 inventory Table name details with description
Oracle R12 inventory Table name details with descriptionBoopathy CS
 
Oracle Apps INVENTORY
Oracle Apps INVENTORY Oracle Apps INVENTORY
Oracle Apps INVENTORY Manu MK
 
reporte dialux
reporte dialuxreporte dialux
reporte dialuxjhonnyarpi
 
1.overview of advanced pricing
1.overview of advanced pricing1.overview of advanced pricing
1.overview of advanced pricingNazmul Alam
 
Dynamics Ax Retail Installation Vijay Sharma
Dynamics Ax Retail Installation Vijay SharmaDynamics Ax Retail Installation Vijay Sharma
Dynamics Ax Retail Installation Vijay SharmaVijay Sharma
 
Designing a Chart of Accounts and Enterprise Structure in Oracle Fusion ERP C...
Designing a Chart of Accounts and Enterprise Structure in Oracle Fusion ERP C...Designing a Chart of Accounts and Enterprise Structure in Oracle Fusion ERP C...
Designing a Chart of Accounts and Enterprise Structure in Oracle Fusion ERP C...Prithis Das, PMP, OCS ☁️
 
New holland b95 btc backhoe loader parts catalogue manual
New holland b95 btc backhoe loader parts catalogue manualNew holland b95 btc backhoe loader parts catalogue manual
New holland b95 btc backhoe loader parts catalogue manualfhjsekdmme
 
55993161 te040-r12-cash-management-test-scripts
55993161 te040-r12-cash-management-test-scripts55993161 te040-r12-cash-management-test-scripts
55993161 te040-r12-cash-management-test-scriptsmdkhadarali
 
Oracle receivables
Oracle receivablesOracle receivables
Oracle receivablesvenuvydhyala
 
Shipping execution user guide r12
Shipping execution user guide r12Shipping execution user guide r12
Shipping execution user guide r12aruna777
 

Was ist angesagt? (16)

Data Migration Made Easy
Data Migration Made EasyData Migration Made Easy
Data Migration Made Easy
 
TE040 Oracle AP Testscript
TE040 Oracle AP TestscriptTE040 Oracle AP Testscript
TE040 Oracle AP Testscript
 
Oracle R12 inventory Table name details with description
Oracle R12 inventory Table name details with descriptionOracle R12 inventory Table name details with description
Oracle R12 inventory Table name details with description
 
Oracle Apps INVENTORY
Oracle Apps INVENTORY Oracle Apps INVENTORY
Oracle Apps INVENTORY
 
Subledger accounting
Subledger accountingSubledger accounting
Subledger accounting
 
iExpenses Setup
iExpenses SetupiExpenses Setup
iExpenses Setup
 
reporte dialux
reporte dialuxreporte dialux
reporte dialux
 
iProcurement Reference Guide
iProcurement Reference GuideiProcurement Reference Guide
iProcurement Reference Guide
 
1.overview of advanced pricing
1.overview of advanced pricing1.overview of advanced pricing
1.overview of advanced pricing
 
Dynamics Ax Retail Installation Vijay Sharma
Dynamics Ax Retail Installation Vijay SharmaDynamics Ax Retail Installation Vijay Sharma
Dynamics Ax Retail Installation Vijay Sharma
 
Designing a Chart of Accounts and Enterprise Structure in Oracle Fusion ERP C...
Designing a Chart of Accounts and Enterprise Structure in Oracle Fusion ERP C...Designing a Chart of Accounts and Enterprise Structure in Oracle Fusion ERP C...
Designing a Chart of Accounts and Enterprise Structure in Oracle Fusion ERP C...
 
TE40-Template
TE40-TemplateTE40-Template
TE40-Template
 
New holland b95 btc backhoe loader parts catalogue manual
New holland b95 btc backhoe loader parts catalogue manualNew holland b95 btc backhoe loader parts catalogue manual
New holland b95 btc backhoe loader parts catalogue manual
 
55993161 te040-r12-cash-management-test-scripts
55993161 te040-r12-cash-management-test-scripts55993161 te040-r12-cash-management-test-scripts
55993161 te040-r12-cash-management-test-scripts
 
Oracle receivables
Oracle receivablesOracle receivables
Oracle receivables
 
Shipping execution user guide r12
Shipping execution user guide r12Shipping execution user guide r12
Shipping execution user guide r12
 

Andere mochten auch

Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosPitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosCharles Fortes
 
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalPitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalCharles Fortes
 
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Charles Fortes
 
REST - Padroes e Melhores Praticas
REST - Padroes e Melhores PraticasREST - Padroes e Melhores Praticas
REST - Padroes e Melhores PraticasFelipe Firmo
 
Domain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
Domain Driven Design – DDD além da teoria!, por Paulo Victor GomesDomain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
Domain Driven Design – DDD além da teoria!, por Paulo Victor GomesiMasters
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven DesignJonatas Saraiva
 
Programando com prazer com DDD
Programando com prazer com DDDProgramando com prazer com DDD
Programando com prazer com DDDGiovanni Bassi
 
PE-I - Apresentação Professor
PE-I - Apresentação ProfessorPE-I - Apresentação Professor
PE-I - Apresentação ProfessorCharles Fortes
 
Conceitos – Do Homem à Máquina
Conceitos – Do Homem à MáquinaConceitos – Do Homem à Máquina
Conceitos – Do Homem à MáquinaCharles Fortes
 
Sistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e ThreadsSistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e ThreadsCharles Fortes
 
PE2 - Funções e Structs
PE2 - Funções e StructsPE2 - Funções e Structs
PE2 - Funções e StructsCharles Fortes
 
Programação Genetica
Programação GeneticaProgramação Genetica
Programação GeneticaCharles Fortes
 
Programação Estruturada 2 - Revisão C
Programação Estruturada 2 - Revisão CProgramação Estruturada 2 - Revisão C
Programação Estruturada 2 - Revisão CCharles Fortes
 
IA - Apresentação do Professor
IA - Apresentação do ProfessorIA - Apresentação do Professor
IA - Apresentação do ProfessorCharles Fortes
 
Sistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de RecursosSistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de RecursosCharles Fortes
 
LPC - aula 1 - Introdução .NET
LPC  - aula 1 - Introdução .NETLPC  - aula 1 - Introdução .NET
LPC - aula 1 - Introdução .NETCharles Fortes
 
Programação Estruturada 2 - Apresentação do Professor
Programação Estruturada 2 - Apresentação do ProfessorProgramação Estruturada 2 - Apresentação do Professor
Programação Estruturada 2 - Apresentação do ProfessorCharles Fortes
 

Andere mochten auch (20)

Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosPitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
 
Pdm -final
Pdm  -finalPdm  -final
Pdm -final
 
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalPitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
 
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
 
REST - Padroes e Melhores Praticas
REST - Padroes e Melhores PraticasREST - Padroes e Melhores Praticas
REST - Padroes e Melhores Praticas
 
Domain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
Domain Driven Design – DDD além da teoria!, por Paulo Victor GomesDomain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
Domain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
 
DDD > Experiências
DDD > ExperiênciasDDD > Experiências
DDD > Experiências
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven Design
 
Programando com prazer com DDD
Programando com prazer com DDDProgramando com prazer com DDD
Programando com prazer com DDD
 
Workshop DDD
Workshop DDDWorkshop DDD
Workshop DDD
 
PE-I - Apresentação Professor
PE-I - Apresentação ProfessorPE-I - Apresentação Professor
PE-I - Apresentação Professor
 
Conceitos – Do Homem à Máquina
Conceitos – Do Homem à MáquinaConceitos – Do Homem à Máquina
Conceitos – Do Homem à Máquina
 
Sistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e ThreadsSistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e Threads
 
PE2 - Funções e Structs
PE2 - Funções e StructsPE2 - Funções e Structs
PE2 - Funções e Structs
 
Programação Genetica
Programação GeneticaProgramação Genetica
Programação Genetica
 
Programação Estruturada 2 - Revisão C
Programação Estruturada 2 - Revisão CProgramação Estruturada 2 - Revisão C
Programação Estruturada 2 - Revisão C
 
IA - Apresentação do Professor
IA - Apresentação do ProfessorIA - Apresentação do Professor
IA - Apresentação do Professor
 
Sistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de RecursosSistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de Recursos
 
LPC - aula 1 - Introdução .NET
LPC  - aula 1 - Introdução .NETLPC  - aula 1 - Introdução .NET
LPC - aula 1 - Introdução .NET
 
Programação Estruturada 2 - Apresentação do Professor
Programação Estruturada 2 - Apresentação do ProfessorProgramação Estruturada 2 - Apresentação do Professor
Programação Estruturada 2 - Apresentação do Professor
 

Ähnlich wie Introdução ao DDD

O papel do profissional de Ti no mundo corporativo.pptx
O papel do profissional de Ti no mundo corporativo.pptxO papel do profissional de Ti no mundo corporativo.pptx
O papel do profissional de Ti no mundo corporativo.pptxFernando Barbieri
 
Do zero ao Lançamento - Tomadas de decisão em um mundo de constante inovação ...
Do zero ao Lançamento - Tomadas de decisão em um mundo de constante inovação ...Do zero ao Lançamento - Tomadas de decisão em um mundo de constante inovação ...
Do zero ao Lançamento - Tomadas de decisão em um mundo de constante inovação ...Fernando Barbieri
 
10 riscos que você pode evitar com uma auditoria de segurança
10 riscos que você pode evitar com uma auditoria de segurança10 riscos que você pode evitar com uma auditoria de segurança
10 riscos que você pode evitar com uma auditoria de segurançaESET Brasil
 
Integrando iot, machine learning, analytics, etc.pptx
Integrando iot, machine learning, analytics, etc.pptxIntegrando iot, machine learning, analytics, etc.pptx
Integrando iot, machine learning, analytics, etc.pptxFernando Barbieri
 
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAndré Constantino da Silva
 
Gab definitivo resmultun12_p1_01
Gab definitivo resmultun12_p1_01Gab definitivo resmultun12_p1_01
Gab definitivo resmultun12_p1_01Johannes Oliveira
 
C:\Fakepath\Repositório Folheto 3x Fole
C:\Fakepath\Repositório Folheto 3x FoleC:\Fakepath\Repositório Folheto 3x Fole
C:\Fakepath\Repositório Folheto 3x Foleprapina
 

Ähnlich wie Introdução ao DDD (8)

O papel do profissional de Ti no mundo corporativo.pptx
O papel do profissional de Ti no mundo corporativo.pptxO papel do profissional de Ti no mundo corporativo.pptx
O papel do profissional de Ti no mundo corporativo.pptx
 
Do zero ao Lançamento - Tomadas de decisão em um mundo de constante inovação ...
Do zero ao Lançamento - Tomadas de decisão em um mundo de constante inovação ...Do zero ao Lançamento - Tomadas de decisão em um mundo de constante inovação ...
Do zero ao Lançamento - Tomadas de decisão em um mundo de constante inovação ...
 
10 riscos que você pode evitar com uma auditoria de segurança
10 riscos que você pode evitar com uma auditoria de segurança10 riscos que você pode evitar com uma auditoria de segurança
10 riscos que você pode evitar com uma auditoria de segurança
 
Integrando iot, machine learning, analytics, etc.pptx
Integrando iot, machine learning, analytics, etc.pptxIntegrando iot, machine learning, analytics, etc.pptx
Integrando iot, machine learning, analytics, etc.pptx
 
Inclusão digital
Inclusão digitalInclusão digital
Inclusão digital
 
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
 
Gab definitivo resmultun12_p1_01
Gab definitivo resmultun12_p1_01Gab definitivo resmultun12_p1_01
Gab definitivo resmultun12_p1_01
 
C:\Fakepath\Repositório Folheto 3x Fole
C:\Fakepath\Repositório Folheto 3x FoleC:\Fakepath\Repositório Folheto 3x Fole
C:\Fakepath\Repositório Folheto 3x Fole
 

Mehr von Charles Fortes

Acesso a banco de dados com entity framework
Acesso a banco de dados com entity frameworkAcesso a banco de dados com entity framework
Acesso a banco de dados com entity frameworkCharles Fortes
 
inteligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineraçãointeligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineraçãoCharles Fortes
 
IA - Introdução Inteligência Artificial
IA - Introdução Inteligência ArtificialIA - Introdução Inteligência Artificial
IA - Introdução Inteligência ArtificialCharles Fortes
 
PE1 - Comandos de Decisão
PE1 - Comandos de DecisãoPE1 - Comandos de Decisão
PE1 - Comandos de DecisãoCharles Fortes
 
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)Charles Fortes
 
LPC - Apresentação do Professor
LPC - Apresentação do ProfessorLPC - Apresentação do Professor
LPC - Apresentação do ProfessorCharles Fortes
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosCharles Fortes
 
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5QuintusIntrodução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5QuintusCharles Fortes
 
Economia global: França e Inglaterra
Economia global: França e InglaterraEconomia global: França e Inglaterra
Economia global: França e InglaterraCharles Fortes
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalCharles Fortes
 
Sistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaSistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaCharles Fortes
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosCharles Fortes
 
Sistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareSistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareCharles Fortes
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisCharles Fortes
 
Sistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SOSistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SOCharles Fortes
 
Apresentação prof e materia
Apresentação prof e materiaApresentação prof e materia
Apresentação prof e materiaCharles Fortes
 

Mehr von Charles Fortes (16)

Acesso a banco de dados com entity framework
Acesso a banco de dados com entity frameworkAcesso a banco de dados com entity framework
Acesso a banco de dados com entity framework
 
inteligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineraçãointeligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineração
 
IA - Introdução Inteligência Artificial
IA - Introdução Inteligência ArtificialIA - Introdução Inteligência Artificial
IA - Introdução Inteligência Artificial
 
PE1 - Comandos de Decisão
PE1 - Comandos de DecisãoPE1 - Comandos de Decisão
PE1 - Comandos de Decisão
 
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
 
LPC - Apresentação do Professor
LPC - Apresentação do ProfessorLPC - Apresentação do Professor
LPC - Apresentação do Professor
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
 
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5QuintusIntrodução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
 
Economia global: França e Inglaterra
Economia global: França e InglaterraEconomia global: França e Inglaterra
Economia global: França e Inglaterra
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
 
Sistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaSistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - Concorrência
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Sistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareSistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e Software
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
 
Sistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SOSistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SO
 
Apresentação prof e materia
Apresentação prof e materiaApresentação prof e materia
Apresentação prof e materia
 

Introdução ao DDD