Dzisiaj krótszy post i to trochę filozoficznej
natury.
Rysując model domenowy dla naszej aplikacji w postaci UML-owego diagramu klas natknąłem się na pewną zagwozdkę. Konkretnie dylemat dotyczył różnic pomiędzy asocjacją, kompozycją a agregacją. Czytając formalne opisy, sprawa wydaje się prosta. Wątpliwości pojawiają się w przypadku wyboru pomiędzy asocjacją, a jej bardziej specjalizowanym kuzynem – agregacją. Agregacja zgodnie z definicją reprezentuje asocjację typu „has a”. Jednak rysując już konkretny diagram wybór ten nie jest wcale taki oczywisty: człowiek „subskrybuje” czasopismo (asocjacja), czy też człowiek „ma subskrypcję na” czasopismo (agregacja) – przykłady i dyskusje można by mnożyć bez końca.
Continue reading ‘Association, Composition and Aggregation’ »
