L'associazione di dipendenza

L'associazione di dipendenza indica che una classe del modello dipende da un'altra classe.
Nello specifico, una classe dipende da un'altra classe quando uno dei suoi attributi, o un parametro di un suo metodo, o il tipo restituito da un suo metodo è del tipo dell'altra classe.

In altri termini, si dice anche che una classe dipende da un'altra classe quando usa l'altra classe in un suo metodo o in un suo attributo.

Nei diagrammi UML, la dipendenza si rappresenta con una linea tratteggiata.

Se la dipendenza bidirezionale, la linea non presenta punte. Si dice anche che le due classi dipendono l'una dall'altra, o che ciascuna di esse è a conoscenza dell'esistenza dell'altra.

Se la dipendenza, invece, è unidirezionale, allora viene rappresentata con una linea tratteggiata con punta aperta verso la classe da cui si dipende. Si dice anche che la classe dipendende è a conoscenza dell'esistenza dell'altra classe, ma non viceversa.

Le figure che seguono mostrano esempi di associazioni di dipendenza tra classi.

Associazione UML di dipendenza bidirezionale (associazione)



Associazione UML di dipendenza unidirezionale

Alcuni autori preferiscono distinguere tra:

  • associazione debole, o dipendenza (associazione dinamica), ossia quando il riferimento all'altra classe si trova in un parametro o in un tipo restituito da un metodo della classe
  • associazione forte, o associazione (associazione statica), quando il riferimento all'altra classe si trova in un attributo della classe

In queste circostanze, a volte, tale associazione si rappresenta con una linea continua con o senza punta aperta, a seconda del fatto che essa sia unidirezionale o bidirezionale.

Di seguito alcune rappresentazioni di quanto detto sopra.

Associazione UML bidirezionale (associazione forte)



Associazione UML unidirezionale (associazione forte)