DB1 Informática            Software e Consultoria Boas práticas no desenvolvimento de                   regras de negócio;...
Instrutor     Everton Emilio Tavares     Formado pela Unioeste de Cascavel - Paraná     5 anos de experiência com programa...
• Problemas comuns de arquitetura:     – Classes “amarradas” (Alto acoplamento);     – Classes com nome não intuitivo:    ...
Dificuldades no desenvolvimento Java    E quando    geralmente   descobrimos       que a    arquitetura      ta com    pro...
Dificuldades no desenvolvimento JavaMUDANÇA!DB1 Informática: Software e Consultoria                                5
É tudo      questão de       técnica!DB1 Informática: Software e Consultoria   6
Revendo alguns conceitos•   Orientação a objetos;•   Coesão;•   Acoplamento;•   Domínio;•   Modelo;DB1 Informática: Softwa...
TDD• TDD – Test Driven Development;     – Não é relacionado a testes;     – Prática de Design;     – Qualidade do código a...
1. Lista de testes;2. Inicie pela implementação mais simples; (Baby   steps)3. Comece a construção do seu código pela   co...
•      Exemplo 1: Desenvolver uma classe que       escreva a data passada em formato       String;     – Caso a diferença ...
•      Separando as       classes conforme       responsabilidades:     –      Entity;     –      Value Objects;     –    ...
•      Entity (ou       entidades);     –      Tudo que possui            identidade;     –      Objetos que serão        ...
•      Value Objects;     –      São as classes que são            constituídas pelo seu valor;     –      Preferencialmen...
•      Aggregate;     –      São entidades            composta por outras            entidades;     –      Possui uma enti...
•      Factory;     –      Responsável por            instanciar as            entidades e Value            Objects;     –...
•      Service;     –      Responsável por            toda a regra de            negócio que            manipula mais de  ...
•      Repository;     –      Responsável pelo            armazenamento das            entidades e            aggregates; ...
•      Exemplo 2: Modelando o Task;     – Permite registrar as ordens de serviço;     – Cada ordem de serviço tem um tempo...
• Como impedir que ocorra problemas  arquiteturais?• Como resolver os problemas  arquiteturais?DB1 Informática: Software e...
Agradecimentos                             Maiores informações:                            Portal de treinamentos         ...
Próximos SlideShares
Carregando em…5
×

Boas práticas no desenvolvimento de regras de negócio - Java

4.041 visualizações

Publicada em

Direitos reservados.
Material editado para publicação. Treinamento sobre Boas práticas no desenvolvimento de regras de negócio - Java.

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.041
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
45
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Boas práticas no desenvolvimento de regras de negócio - Java

  1. 1. DB1 Informática Software e Consultoria Boas práticas no desenvolvimento de regras de negócio; 07/03/2012
  2. 2. Instrutor Everton Emilio Tavares Formado pela Unioeste de Cascavel - Paraná 5 anos de experiência com programação JavaDB1 Informática: Software e Consultoria 2
  3. 3. • Problemas comuns de arquitetura: – Classes “amarradas” (Alto acoplamento); – Classes com nome não intuitivo: • Dificuldade de encontrar o que precisa; • Alta dependência da IDE; – Classes McGyver; – Trechos de códigos gigantes! – ...DB1 Informática: Software e Consultoria 3
  4. 4. Dificuldades no desenvolvimento Java E quando geralmente descobrimos que a arquitetura ta com problema?DB1 Informática: Software e Consultoria 4
  5. 5. Dificuldades no desenvolvimento JavaMUDANÇA!DB1 Informática: Software e Consultoria 5
  6. 6. É tudo questão de técnica!DB1 Informática: Software e Consultoria 6
  7. 7. Revendo alguns conceitos• Orientação a objetos;• Coesão;• Acoplamento;• Domínio;• Modelo;DB1 Informática: Software e Consultoria 7
  8. 8. TDD• TDD – Test Driven Development; – Não é relacionado a testes; – Prática de Design; – Qualidade do código aumenta; – Documentação do requisito aumenta;DB1 Informática: Software e Consultoria 8
  9. 9. 1. Lista de testes;2. Inicie pela implementação mais simples; (Baby steps)3. Comece a construção do seu código pela construção do teste;4. Vermelho -> Verde -> Refatorar;5. Busque o verde o mais rápido possível (Construa somente o necessário para o seu teste passar);6. Construa testes semelhantes com dados distintos (Triangulação);DB1 Informática: Software e Consultoria 9
  10. 10. • Exemplo 1: Desenvolver uma classe que escreva a data passada em formato String; – Caso a diferença de datas for de 1 dia, deve retornar “Ontem”; – Caso a diferença de datas for de 2 dias, deve retornar “Antes de ontem”; – ...• Dica: 1 dia é igual a 86400000 millissegundos;DB1 Informática: Software e Consultoria 10
  11. 11. • Separando as classes conforme responsabilidades: – Entity; – Value Objects; – Aggregate; – Factory; – Service; – Repository;DB1 Informática: Software e Consultoria 11
  12. 12. • Entity (ou entidades); – Tudo que possui identidade; – Objetos que serão rastreados durante o ciclo de vida da aplicação; – Exemplo: Pessoa, Nota fiscal;DB1 Informática: Software e Consultoria 12
  13. 13. • Value Objects; – São as classes que são constituídas pelo seu valor; – Preferencialmente Imutáveis; – Exemplo: Período, Dinheiro, Característica de Animal;DB1 Informática: Software e Consultoria 13
  14. 14. • Aggregate; – São entidades composta por outras entidades; – Possui uma entidade raiz e todo o acesso é feito através dela; – Quando a entidade raiz é removida, todas as outras são removidas tambem; – Exemplo: Nota fiscal;DB1 Informática: Software e Consultoria 14
  15. 15. • Factory; – Responsável por instanciar as entidades e Value Objects; – Não é sempre necessário;DB1 Informática: Software e Consultoria 15
  16. 16. • Service; – Responsável por toda a regra de negócio que manipula mais de uma entidade; – Exemplo: Atuais Services da DB1;DB1 Informática: Software e Consultoria 16
  17. 17. • Repository; – Responsável pelo armazenamento das entidades e aggregates; – Tudo que é da gravação ou remoção é feito nele;DB1 Informática: Software e Consultoria 17
  18. 18. • Exemplo 2: Modelando o Task; – Permite registrar as ordens de serviço; – Cada ordem de serviço tem um tempo total previsto; – Cada ordem de serviço tem um status; – Uma ordem de serviço pode ter triagem para os usuários; – Cada triagem pode ter várias execuções; – Uma execução não pode sobrepor outra execução do mesmo usuário; – ...DB1 Informática: Software e Consultoria 18
  19. 19. • Como impedir que ocorra problemas arquiteturais?• Como resolver os problemas arquiteturais?DB1 Informática: Software e Consultoria 19
  20. 20. Agradecimentos Maiores informações: Portal de treinamentos documentacao@db1.com.brDB1 Informática: Software e Consultoria 20

×