Lei de Demeter parte

3.713 visualizações

Publicada em

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

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
3.713
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3.024
Ações
Compartilhamentos
0
Downloads
13
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Lei de Demeter parte

  1. 1. Como assim além das classes?
  2. 2. Atributos Objetos Classes Polimorfismo Herança Encapsulamento
  3. 3. Base
  4. 4. Universo OO
  5. 5. Base Princípios GRASP GoF DDD Testes Unidade BDD TDD Refactory Clean Code Leis
  6. 6. Tudo Isso além das classes?
  7. 7. Simmmm............
  8. 8. Base Princípios GRASP GoF DDD Testes Unidade BDD TDD Refactory Clean Code Leis
  9. 9. Base Princípios GRASP GoF DDD Testes Unidade BDD TDD Refactory Clean Code Leis
  10. 10. Lei de Demeter
  11. 11. Você não pode conversar com estranhos.
  12. 12. Como assim???
  13. 13. Não nos comunicamos com a parte (pernas)
  14. 14. Regra é simples.
  15. 15. Objetos só podem enviar mensagens para...
  16. 16. • Próprio • Seus atributos • Parâmetro passado • Objeto Criado
  17. 17. Exemplo por favor?
  18. 18. public void metodoFragil() { Desconto desconto = venda.getPagamento(). .getProduto() .calcularDesconto(); // Segue implementação }
  19. 19. venda.getPagamento().getProduto().calcularDesconto();
  20. 20. venda.getPagamento().getProduto().calcularDesconto();
  21. 21. venda.getPagamento().getProduto().calcularDesconto(); Dependência de Pagamento e Produto
  22. 22. Aplicando a lei
  23. 23. venda.getPagamento().getProduto().calcularDesconto(); Quem são os Estranhos?
  24. 24. venda.getPagamento().getProduto().calcularDesconto(); Estranhos
  25. 25. venda.calcularDesconto(); Não conversamos com Estranhos
  26. 26. public void metodoRobusto() { Desconto desconto = venda.getDesconto(); // Segue implementação }
  27. 27. Eu uso sempre isso?
  28. 28. Não! Somente em objetos. Em estrutura de dados não é necessário.(DTO,POJO...)
  29. 29. Mas Qual a Vantagem disso?
  30. 30. Projeto possuira • Menor dependência • Baixo Acoplamento • Mais fácil manter • Mais fácil evoluir
  31. 31. • Email: joleques@gmail.com • Twitter : @jorgeoleques • Blog : joleques.blogspot.com • GiHub : github.com/joleques • Slideshare : www.slideshare.net/jorgeoleques Obrigado!!!
  32. 32. Referencias • Martin, Rebert C., Clean Code • Larman, Craig, Utilizando UML e Padrões • http://en.wikipedia.org/wiki/Law_of_Demeter • http://weblogs.asp.net/andrenobre/archive/200 9/02/18/princ-237-pios-de-oop-a-lei-de- demeter-lod.aspx

×