sexta-feira, 21 de outubro de 2011

Baixo Acoplamento e Alta Coesão - Regras que valem ouro!

Use e abuse dos melhores tipos de acoplamento e coesão!

Acoplamento
  • Inter-dependência entre módulos
  • Tipos (do melhor ao pior)
    • Mensagem: interface pública para troca de mensagens
    • Dados: módulos compartilham dados via parâmetros
    • Selo: dados estruturados subutilizados
    • Controle: módulo envia comandos para o outro
    • Externo: compartilham um formato de dados externo, protocolo de comunicação ou interface de dispositivo
    • Comum: dados globais
    • Conteúdo: um módulo depende da funcionalidade interna do outro, um muda o outro tem que mudar também
Coesão
  • Princípio de ouro para ser mantido no projeto
  • Tipos (do melhor ao pior)
    • Funcional: única tarefa
    • Sequencial: saída de um módulo é entrada em outro módulo
    • De comunicação: operações unidas sobre os dados
    • Procedural: procedimentos de algoritmos
    • Temporal: dependência de tempo
    • Lógico: depende de variáveis de condições lógicas
    • Coincidente/acidental: nada 
Referências
http://c2.com/cgi/wiki?CouplingAndCohesion

Nenhum comentário: