Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Artesanato de software

715 views

Published on

Uma pequena introdução sobre alguns conceitos de

Published in: Technology
  • Be the first to comment

Artesanato de software

  1. 1. Artesanato de Software Edson Yanaga @edsonyanaga
  2. 2. Software é uma arte
  3. 3. Ou não é?
  4. 4. É linha de produção?
  5. 5. Deus?
  6. 6. O que você sabe/aprendeu sobre OO?
  7. 7. Herança
  8. 8. HerançaPolimorfismo
  9. 9. Herança PolimorfismoEncapsulamento
  10. 10. Encapsulamento Polimorfismo Herança
  11. 11. Encapsulamento Polimorfismo Herança
  12. 12. Encapsulamento Polimorfismo Herança
  13. 13. public class Pessoa { private String nome; private String cpf; private String telefone; private Date nascimento;}
  14. 14. public class Pessoa { private String nome; private Cpf cpf; private Telefone telefone; private Date nascimento;}
  15. 15. public class Conta { private BigDecimal saldo = new BigDecimal("0.00"); public BigDecimal getSaldo() { return saldo; } public void setSaldo(BigDecimal saldo) { this.saldo = saldo; }}
  16. 16. public class ContaService { public void somar(Conta conta, BigDecimal valor) { if (conta == null) { throw new IllegalArgumentException("Conta não pode ser nula!"); } if (valor == null) { throw new IllegalArgumentException("Valor não pode ser nulo!"); } BigDecimal saldo = conta.getSaldo(); if (saldo == null) { saldo = new BigDecimal("0.00"); } saldo = saldo.add(valor); conta.setSaldo(saldo); } }
  17. 17. public class Conta { private BigDecimal saldo = new BigDecimal("0.00"); public BigDecimal getSaldo() { return saldo; } public Conta somar(BigDecimal valor) { checkNotNull(valor); saldo = saldo.add(valor); return this; }}
  18. 18. public class ContaService { public void somarValorNaConta(Conta conta, BigDecimal valor) { checkNotNull(conta); conta.somar(valor); } }
  19. 19. Software melhor, mundo melhor
  20. 20. Edson Yanaga edson@yanaga.com.br @edsonyanaga www.yanaga.com.br

×