Sono confuso su alcune delle notazioni dei diagrammi delle classi UML.
Abbastanza sicuro di sapere cosa significa Associazione . Qualsiasi relazione tra istanze di due classi, in cui un'istanza di una classe deve conoscere un'istanza della seconda classe per poter eseguire il proprio lavoro, è una relazione di associazione. Un'associazione spesso indica che la classe A ha un riferimento (campo) a un'istanza di classe B.
Tuttavia, ho difficoltà a capire che cosa significano le frecce Aggregazione e Composizione . Parte della mia confusione è stata causata dall'incontro con diverse definizioni di queste notazioni.
Due definizioni della notazione Aggregazione :
Definizione 1: Una notazione di aggregazione tra due classi è adatta ogni volta che un'istanza di classe A contiene una raccolta di istanze di classe B (ad esempio una lista, una matrice, qualunque sia ).
Definizione 2: Un legame di aggregazione tra due classi è adatto se un'istanza della classe A contiene un riferimento a un'istanza di classe B, e l'istanza B dipende dal ciclo di vita di l'istanza A. Significato: quando l'istanza della classe A viene cancellata, anche l'istanza della classe B. L'istanza della classe B è interamente contenuta dall'istanza della classe A, come contrario all'istanza della classe A che possiede semplicemente un riferimento all'istanza della classe B (che è un'associazione regolare).
Riguardo a cosa significa la notazione di composizione e in che modo differisce dalla notazione di aggregazione, non sono sicuro.
Per favore chiarisci le definizioni e aiutami a capire. Esempi concreti sarebbero i benvenuti.