Witam,
Chciałbym się dowiedzieć co oznacza w sensie programowym asocjacja. Jak programowo jest rozumiany ten zapis? Czy jest to informacja w stylu A :wywołuje: B ?
Witam,
Chciałbym się dowiedzieć co oznacza w sensie programowym asocjacja. Jak programowo jest rozumiany ten zapis? Czy jest to informacja w stylu A :wywołuje: B ?
http://www.sjp.pl/co/asocjacja inaczej mowiac, powiazanie... obiekt A jest powiazany z B luznym zwiazkiem
Mhmm. Czyli jest to można powiedzieć element UML'a świadczący o jego rozszerzalności. Czyli że jeśli nie będę miał odpowiedniego powiązania mam użyć dobrze opisanej asocjacji. Dobrze rozumuję?
Lekki mętlik zrobił mi przykład z artykułu z którego się uczę.
Firma [1]--------------[1..*]Pracownik
Ja na przykład użyłbym tutaj kompozycji. Czy dobrze?
<e
ok dzięki :)
Kompozycja oznacza, ze w momencie usuwania elementu nadrzędnego wszystkie elementy podrzędne też mają być usunięte. Czy gdy usuwasz firmę, to wszyscy jej pracownicy też mają zostać usunięci. Jeśli w Twoim modelu to jest poprawne założenie, to uzyj kompozycji. Jeśli nie, to agregacji. A jesli Pracownicy nie sa "przechowywani" w Firmie, to w ogole zwyklej asocjacji.
nie do końca jest tak że jak zaznaczysz kompozycję, i element usuniesz jego podelementy zostaną usunięte, bo jeśli oznaczysz kompozycję (0..1) jego podelementy nie będą wówczas usunięte.
Z tym raczej jest tak, że istnieje agregacja silna (== kompozycja?) i słaba. Przy silnej usunięcie obiektu agregującego powoduje usunięcie obiektów agregowanych.