7. mo.de.lo
Desenho ou imagem que representa o que se pretende
reproduzir, desenhando, pintando ou esculpindo.
http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&palavra=modelo
8. Linguagem obtusa
• Programadores: Thread, SQL, Array,
Hibernate, Java, ActiveRecord, String
• Cliente: Fluxo de Caixa, Balancete, Plano de
Vôo, Produto,Venda, Cliente
Criar uma linguagem comum:
a linguagem do domínio do negócio
9. Modelo de domínio
• O modelo e o coração do design dão
forma um ao outro;
• O modelo é a espinha dorsal de uma
linguagem utilizada por todos os membros
da equipe;
• O modelo é um conhecimento destilado;
12. Entity
• Objetos com identidade;
• Bons começos para a modelagem;
• A maioria dos objetos do domínio serão
entities;
• São mutáveis;
13. Value Objects
• Não possuem identidade;
• Seus atributos o definem;
• Descrevem certos aspectos do domínio;
• É recomendável que sejam imutáveis e por
isso podem ser compartilhados;
14. Pessoa Pessoa
== ?
nome: José da Silva nome: José da Silva
Valor Valor
moeda: Real == moeda: Real ?
montante: 50 montante: 50
15. Pessoa Pessoa
== ?
nome: José da Silva nome: José da Silva
Entity!
Valor Valor
moeda: Real == moeda: Real ?
montante: 50 montante: 50
16. Pessoa Pessoa
== ?
nome: José da Silva nome: José da Silva
Entity!
Valor Valor
moeda: Real == moeda: Real ?
montante: 50 montante: 50
Value Object!
17. Service
• Representam comportamentos que não se
encaixam em entities ou value objects;
• Objetos sem estado;
• Suas operações interagem com outros
objetos do domínio;
18. Module
• Sistemas crescem e se torna complexo um
entendimento do todo;
• Módulos agrupam conceitos relacionados;
• Módulos podem se relacionar entre si;
19.
20.
21. Aggregate
• Usado para refinar as responsabilidades e
fronteiras dos objetos;
• É um grupo de objetos associados que
podem ser considerados como uma
unidade com relação aos dados;
• Um agragate tem apenas uma entidade root;
24. Factory
• Objetos complexos ou trabalhosos para
serem construídos;
• A construção exige alto conhecimento
sobre a estrutura interna;
• Factories encapsulam as regras para
construção de um objeto;
25.
26.
27. Repository
• Encapsula a lógica para obter os objetos
de um sistema de persistência;
• Tem acesso à infra-estrutura de
persistência;