Agregace a složení


Original: http://martinfowler.com/bliki/AggregationAndComposition.html

Jen málo věcí v UML způsobit větší zděšení než agregace a kompozice , zejména v tom, jak se liší od pravidelného sdružení .

Celý příběh je pošpiněné historii . Ve způsobech pre – UML bylspolečný pojem definovat nějakou formu částečný celých vztahů . Potíž byla v tom , že každá metoda definována různé sémantiku těchto vztahů ( i když abych byl spravedlivý , některé z nich byly docela sémantika zdarma ) .

Takže kdyžpřišel čas sjednotit , spousta lidí, kteří chtěli na částečný celé vztahů , ale oni nemohli shodnout na tom, co znamenají . Takže UML definers představil dva vztahy .

agregace ( bílý diamant ) nemá sémantiku mimo to pravidelně sdružení . Je to , jako Jim Rumbaugh říká ,modelování placebo . Lidé mohou , a to , použít ji – ale nejsou tam žádné standardní významy pro něj . Takže pokud jste ji vidět , měli byste se zeptat, jak na to, coautor míní to . Chtěl bych poradit , pokud ji nepoužíváte sami bez nějaké formy vysvětlení .

složení ( black diamond ) dělá nést sémantiku . Nejvíce je zejména , žeobjekt může být pouzesoučástí jedné složení vztahu . Takže i když obě okna a panely mohou obsahovat menu- bary , každá instance z nabídky baru musí být drženy pouze jednoho celku . To nenípřekážkou , kterou lze snadno vyjádřit pomocí pravidelných mnohosti značek .