segunda-feira, 31 de março de 2008

aula 12 e 13 (acoplamento de controle, dados globais, dados internos)

Acoplamento de controle:

Basicamente quando há passagem de flags de controle entre objetos de forma que um objeto controle as ações do outro objeto, ou melhor:

  • Objeto a manda uma mensagem para objeto b
  • b usa um parâmetro da mensagem para decidir o que fazer

A solução para este tipo de acoplamento é decompor as operações das classes em múltiplas operações.

Acoplamento de dados globais:

  • Dois ou mais objetos compartilham estruturas de dados globais
  • É um acoplamento muito ruim pois está escondido
  • Uma chamada de método pode mudar um valor global e o código não deixa isso aparente
  • Um tipo de acoplamento muito ruim

Acoplamento de dados internos:

  • Um objeto altera os dados locais de um outro objeto
  • Ocorrência comum:
    • Friends em C++
    • Dados públicos, package visibility ou mesmo protected em java
  • Use com cuidado!

Nenhum comentário: