10.07.2015 Views

Modelowanie i implementacja systemów informatycznych - pjwstk

Modelowanie i implementacja systemów informatycznych - pjwstk

Modelowanie i implementacja systemów informatycznych - pjwstk

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

112konstruktorowi obiekt dodawany jest do ekstensji przechowywanej w klasieObjectPlus. W efekcie mamy dwa obiekty, klasy Aktor oraz Film, któreznajdują się w tej samej ekstensji (w klasie ObjectPlus). Raczej nie o to namchodziło. Czy ktoś ma pomysł, jak temu zaradzić?Ponieważ wszystkie biznesowe klasy dziedziczą z jednej nadklasy(ObjectPlus), nie możemy zastosować zwykłego kontenera przechowującegoreferencje. Użyjemy kontenera mapującego przechowującego klucze i wartości:• Kluczem będzie nazwa konkretnej biznesowej klasy, np. Aktor lub Film,• Wartością będzie kontener zawierający referencje do jej wystąpień (właściwaekstensja).Innymi słowy, ten nowy kontener będzie zawierał wiele ekstensji, a niejedną ekstensję. Rysunek 3-2 pokazuje schematycznie zawartość kontenera.Widzimy, że aktualnie znajdują się tam informacje o dwóch ekstensjach: filmóworaz aktorów. Ekstensja aktorów zapamiętana w dedykowanej kolekcjiprzechowuje referencje do trzech obiektów. Ekstensja filmów zapamiętanaw innej kolekcji przechowuje referencje do czterech filmów.„Film”Kontener mapujący„Aktor”:Film„Komando”:Film„Terminator 1”:Film„Terminator 2”:Film„Terminator 3”:Aktor„Arnold Schwarzenegger”:Aktor„Michael Biehn”:Aktor„Kristanna Loken”3-2 Wykorzystanie kontenera mapującego do przechowania wielu ekstensjiSpójrzmy na ciekawsze miejsca implementacji klasy ObjectPlus pokazanena listingu 3-17:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!