Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Aplicando Clean Code e DDD em entidades Hibernate/JPA

Aplicando Clean Code e DDD em entidades Hibernate/JPA

Palestra apresentada no TDC2013 em Florianópolis

Objetos bem encapsulados, uso adequado de herança, imutabilidade de objetos, princípios de código limpo (SOLID) e prática do Effective Java não são tão usuais quanto se gostaria em equipes de desenvolvimento atuais. A maioria dos desenvolvedores se esforça, mas tem grandes dificuldades em aplicar estas técnicas em sistemas com entidades mutáveis JPA (ou Hibernate). Esta palestra apresentará algumas lições aprendidas em como aplicar estas técnicas num ambiente JavaEE utilizando entidades JPA (ou Hibernate). Também avaliaremos como estas práticas podem ser aplicadas em outras implementações de JPA e JPA 2.1.

Código disponível em https://github.com/yanaga/clean-jpa

Edson Yanaga

May 25, 2013
Tweet

More Decks by Edson Yanaga

Other Decks in Technology

Transcript

  1. Aplicando Clean Code
    e DDD em entidades
    Hibernate/JPA
    Edson Yanaga
    @edsonyanaga

    View full-size slide

  2. Edson Yanaga
    • Bacharel em Ciência da Computação/UEM
    • Mestre em Engenharia Elétrica/UTFPR
    • Desenvolvedor Java desde 1997
    • Administrador Unix desde 1999
    • Líder Técnico na Produtec desde 2012
    • Instrutor Líder da GlobalCode desde 2012

    View full-size slide

  3. Certificações
    • Oracle Certified Professional, Java Platform,
    Enterprise Edition 6 Enterprise JavaBeans
    Developer
    • Sun Certified Enterprise Architect for the Java
    Platform,Enterprise Edition 5 (i)
    • Certified ScrumMaster
    • Sun Certified Developer for Java Web Services 5
    • Sun Certified Specialist for NetBeans IDE
    • Sun Certified Web Component Developer for J2EE
    1.4
    • Sun Certified Programmer for Java 2 Platform 1.4

    View full-size slide

  4. Software é artesanal

    View full-size slide

  5. Software Craftsmanship

    View full-size slide

  6. Nós não precisamos de mais
    programadores!

    View full-size slide

  7. O que você sabe/
    aprendeu sobre OO?

    View full-size slide

  8. Herança
    Polimorfismo
    Encapsulamento

    View full-size slide

  9. Herança
    Polimorfismo
    Encapsulamento

    View full-size slide

  10. public class Pessoa {
    private String nome;
    private String cpf;
    private String telefone;
    private Date nascimento;
    }

    View full-size slide

  11. Primitive Obsession

    View full-size slide

  12. public class Pessoa {
    private String nome;
    private Cpf cpf;
    private Telefone telefone;
    private Date nascimento;
    }

    View full-size slide

  13. Tell, dont’ ask

    View full-size slide

  14. Cuide do seu código.

    View full-size slide

  15. Software melhor,
    mundo melhor

    View full-size slide

  16. Edson Yanaga
    [email protected]
    @edsonyanaga
    www.yanaga.com.br

    View full-size slide