Differenza tra associazione e di dipendenza?
In un diagramma delle classi in UML, qual è la differenza tra un’associazione di un rapporto e di una relazione di dipendenza?
Da quello che so, un’associazione è un più forte rapporto di dipendenza, ma io non sono sicuro di come si è più forti.
Qualche esempio sarebbe più che benvenuto 🙂
Qual è la differenza tra dipendenza e di associazione?:
Un associazione quasi sempre implica che un oggetto è di un altro oggetto, come un campo/proprietà/attributi (la terminologia è diversa).
Un dipendenza in genere (ma non sempre) implica che un oggetto accetta un altro oggetto come parametro di un metodo, un’istanza, o utilizza un altro oggetto. Un dipendenza è molto implicite da un associazione.
In OOP termini:
Associazione –> Un ha un C oggetto (come una variabile membro)
Dipendenza –> Un riferimenti B (come parametro di un metodo o tipo di ritorno)
C’è anche un risposta più dettagliata.
Dipendenza è come quando si definisce un metodo che accetta una Stringa(in Java, C#, come la stringa è un oggetto di loro) come parametro, allora la classe dipende dalla classe String.
Associazione è come quando si dichiara una stringa come un attributo della classe.
quindi il codice è associato con la classe string.
Associazione è di 2 tipi-
Aggregazione
1) Composizione più forte Associazione o il rapporto tra i 2 oggetti. La creazione di un oggetto di un classe B all’interno di un altro classe A
Se si elimina la classe A , B non esiste( B oggetto viene creato all’interno di Un solo).
2) Aggregazione più deboli tipo di Associazione tra 2 oggetti.
Anche se si elimina classe A, B esiste al di fuori di B è creata al di fuori e passato alla Classe A)
Un altro esempio di questo – Uomo & Auto . L’uomo è una Macchina, ma l’Uomo & Auto esistere indipendentemente.
Qui: “Associazione contro Dipendenza vs Aggregazione vs. Composizione”, si dispone di un ottimo vademecum con diagrammi di classe uml e frammenti di codice.
L’autore ci dà un elenco di relazioni, di Associazione, di Dipendenza, di Aggregazione, Composizione in un unico luogo.
Una dipendenza è molto generale e abbassando la complessità è di circa diminuendo le dipendenze, per quanto possibile.
Un’associazione è una forte (statica) di dipendenza. L’aggregazione e la Composizione sono anche più forti.