Definizione
L'accoppiamento è la misura di quanto fortemente un entità è connessa, conosce e/o dipende da altre entità.
Obbiettivo
Mantenere sempre un Basso Accoppiamento.
Metrica
Il numero di dipendenze fra metodi, oggetti, classi, namespace, assembly
Note
Per quantità di dipendenze si intende quanto un modulo ha conoscenza di altri moduli, quanto ad essi affida esternamente responsabilità di varia natura, in generale quanto il suo corretto funzionamento dipende dagli altri moduli.
Le responsabilità possono essere di due tipi:
– responsabilità di fare
– responsabilità di conoscere
Un modulo caratterizzato da un basso accoppiamento non dipende da tanti altri moduli (la quantità è relativa e dipende dal contesto).
Viceversa un alto accoppiamento presuppone molte dipendenze che possono comportare non pochi problemi in fatto di estendibilità, manutenibilità e flessibilità.
I moduli fortemente accoppiati possono presentare i seguenti problemi:
- i cambiamenti nelle classi correlate obbligano a cambiamenti locali
- le classi correlate sono più difficili da isolare
- le classi correlate sono più difficili da riusare
Forme comuni di accoppiamento tra due elementi A e B:
–la classe A ha un membro di tipo B;
–la classe A referenzia una istanza di B;
–A richiama e usa servizi di B;
–A ha un metodo che possiede un elemento di tipo B;
–A ha un metodo che possiede un elementoche referenzia una istanza di B;
–A è una classe derivata direttamente o indirettamente dalla classe base B;
–A implementa un‟interfaccia di tipo B.
posted @ martedì 5 aprile 2011 19:01