boas práticas no desenvolvimento de regras de negócio - java
Post on 11-Jun-2015
2.924 Views
Preview:
DESCRIPTION
TRANSCRIPT
DB1 InformáticaSoftware e Consultoria
Boas práticas no desenvolvimento de regras de negócio;
07/03/2012
DB1 Informática: Software e Consultoria 2
Instrutor
Everton Emilio Tavares
Formado pela Unioeste de Cascavel - Paraná
5 anos de experiência com programação Java
DB1 Informática: Software e Consultoria 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 4
Dificuldades no desenvolvimento Java
E quando geralmente
descobrimos que a
arquitetura ta com
problema?
DB1 Informática: Software e Consultoria 5
Dificuldades no desenvolvimento Java
MUDANÇA!
DB1 Informática: Software e Consultoria 6
É tudo questão de
técnica!
DB1 Informática: Software e Consultoria 7
Revendo alguns conceitos
• Orientação a objetos;• Coesão;• Acoplamento;• Domínio;• Modelo;
DB1 Informática: Software e Consultoria 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 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 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 11
• Separando as classes conforme responsabilidades:
– Entity;– Value Objects;– Aggregate;– Factory;– Service;– Repository;
DB1 Informática: Software e Consultoria 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 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 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 15
• Factory;– Responsável por
instanciar as entidades e ValueObjects;
– Não é sempre necessário;
DB1 Informática: Software e Consultoria 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 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 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 19
• Como impedir que ocorra problemas arquiteturais?
• Como resolver os problemas arquiteturais?
DB1 Informática: Software e Consultoria 20
Maiores informações:Portal de treinamentos
documentacao@db1.com.br
Agradecimentos
top related