Sono confuso su alcune delle notazioni dei diagrammi di classe UML.
Abbastanza sicuro di sapere cosa significhi Associazione . Qualsiasi relazione tra istanze di due classi, in cui un'istanza di una classe deve conoscere un'istanza della seconda classe per eseguire il suo 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 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 di 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 un elenco, una matrice, qualunque cosa).
Definizione 2: un collegamento di aggregazione tra due classi è adatto se un'istanza di classe A contiene un riferimento a un'istanza di classe B e l'istanza B dipende dal ciclo di vita dell'istanza A. Significato: quando viene cancellata l'istanza della classe A, anche l'istanza della classe B. L'istanza della classe B è interamente contenuta dall'istanza della classe A, al contrario dell'istanza della classe A che possiede semplicemente un riferimento all'istanza di classe B (che è normale associazione).
Per quanto riguarda il significato della notazione di composizione e il modo in cui differisce dalla notazione di aggregazione, non sono sicuro.
Per favore chiarisci le definizioni e aiutami a capire. Esempi concreti sarebbero benvenuti.