Baixo Acoplamento e Alta Coesão

17.276 visualizações

Publicada em

Apresentação utilizada no Just Java 2011

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

Sem downloads
Visualizações
Visualizações totais
17.276
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3.849
Ações
Compartilhamentos
0
Downloads
168
Comentários
0
Gostaram
8
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

    ×