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.

114• (5). Jeżeli tak, to na podstawie klucza odzyskujemy wartość, czyli kolekcjęzawierającą ekstensję.• (6). Jeżeli nie, to tworzymy nową pustą kolekcję, która będzie zawierałainstancje i dodajemy ją do głównego kontenera mapującego.• (7). Do ekstensji dodajemy informację o nowej instancji, która właśniejest tworzona. Warto zwrócić uwagę, że w tym miejscu mamy zawszeprawidłową ekstensję – bo albo ją odzyskaliśmy na podstawie klucza,albo utworzyliśmy nową.Na pierwszy rzut oka cała ta powyższa technika może się wydawać trochęzagmatwana, ale jestem pewien, że po przeanalizowaniu (być może kilkakrotnym)da się to zrozumieć.Teraz będzie ta łatwiejsza część – jak możemy z tego korzystać. Przykładowykod jest pokazany na listingu 3-18. Tak naprawdę warto zwrócić uwagętylko na dwa elementy, reszta to zwykłe biznesowe zapisy:• (1). Aby móc używać naszej nowej funkcjonalności, musimy dziedziczyćz klasy ObjectPlus.• (2). W celu automatycznego dodawania do ekstensji należy wywołaćkonstruktor z nadklasy. Później można umieścić zwykły kod wymaganyprzez uwarunkowania biznesowe.(1)(2)public class Film2 extends ObjectPlus implements Serializable {private String tytul;private float cena;private Date dataDodania;/*** Konstruktor.*/public Film2(String tytul, Date dataDodania, float cena) {// Wywołaj konstruktor z nadklasysuper();}this.tytul = tytul;this.dataDodania= dataDodania;this.cena = cena;}// Dalsza <strong>implementacja</strong> czesci biznesowej3-18 Wykorzystanie klasy ObjectPlusJak widać, wykorzystywanie tak utworzonej funkcjonalności jest banalnieproste i sprowadza się tylko do dziedziczenia z klasy ObjectPlus oraz

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

Saved successfully!

Ooh no, something went wrong!