Desenvolvendo em Java     Visando o Baixo Acoplamento       Marcelo de Melo Madeira            Just Java 2011
Marcelo de Melo Madeira• Arquiteto de sistemas• Instrutor Java na Globalcode• SCJP e SCWCD
Agenda•   Acoplamento        •   Alto Acoplamento        •   Baixo Acoplamento•   Coesão        •   Baixa Coesão        • ...
Acoplamento
Alto Acoplamento• Forte dependência entre componentes.• É difícil trocar dependências de um objeto  sem quebrar seu funcio...
Baixo Acoplamento•   Depender de abstrações    •   Classe abstrata???    •   Interface•   IoC (Inversão de controle)    • ...
CoesãoQual é a sua função?
Baixa Coesão• Várias funcionalidades em um mesmo  objeto.• Difícil reaproveitamento• Difícil manutenção• Alta complexidade
Alta coesão• Objetos devem fazer apenas uma (e bem  feita) tarefa.• Maior capacidade de reaproveitamento• Facilidade de ma...
Logo....baixoAcoplamento.plus(AltaCoesao).equals(ProgramadorFe                          liz)
Live Code!!!   Perigoso!!!
API de Validação               Requisitos:• Objetos não podem ser nulos.• String não devem ser vazias.• Números não podem ...
Conclusão• Componentes devem depender de  abstrações.• Objetos devem ser especialistas.• Funcionalidades devem resultar da...
Obrigado!!!  Onde me encontrar???celodemelo.wordpress.com     @celodemelo celodemelo@gmail.com
Próximos SlideShares
Carregando em…5
×

Baixo Acoplamento e Alta Coesão

16.674 visualizações

Publicada em

Apresentação utilizada no Just Java 2011

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

Sem downloads
Visualizações
Visualizações totais
16.674
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3.785
Ações
Compartilhamentos
0
Downloads
161
Comentários
0
Gostaram
7
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Baixo Acoplamento e Alta Coesão

    1. 1. Desenvolvendo em Java Visando o Baixo Acoplamento Marcelo de Melo Madeira Just Java 2011
    2. 2. Marcelo de Melo Madeira• Arquiteto de sistemas• Instrutor Java na Globalcode• SCJP e SCWCD
    3. 3. Agenda• Acoplamento • Alto Acoplamento • Baixo Acoplamento• Coesão • Baixa Coesão • Alta Coesão• Live code!!!
    4. 4. Acoplamento
    5. 5. Alto Acoplamento• Forte dependência entre componentes.• É difícil trocar dependências de um objeto sem quebrar seu funcionamento interno.• É difícil adicionar mais funcionalidades ao componente sem ter que alterar seu código.
    6. 6. Baixo Acoplamento• Depender de abstrações • Classe abstrata??? • Interface• IoC (Inversão de controle) • Spring • Guice • Puro Java
    7. 7. CoesãoQual é a sua função?
    8. 8. Baixa Coesão• Várias funcionalidades em um mesmo objeto.• Difícil reaproveitamento• Difícil manutenção• Alta complexidade
    9. 9. Alta coesão• Objetos devem fazer apenas uma (e bem feita) tarefa.• Maior capacidade de reaproveitamento• Facilidade de manutenção
    10. 10. Logo....baixoAcoplamento.plus(AltaCoesao).equals(ProgramadorFe liz)
    11. 11. Live Code!!! Perigoso!!!
    12. 12. API de Validação Requisitos:• Objetos não podem ser nulos.• String não devem ser vazias.• Números não podem ser menor que zero.• Deve possibilitar a adição de novos validadores sem a necessidade de alteração no código da API.
    13. 13. Conclusão• Componentes devem depender de abstrações.• Objetos devem ser especialistas.• Funcionalidades devem resultar da composição de componentes especialistas.
    14. 14. Obrigado!!! Onde me encontrar???celodemelo.wordpress.com @celodemelo celodemelo@gmail.com

    ×