Rosnące oczekiwania wobec realizowanych współcześnie aplikacji sprawiają, że kluczową kwestią staje się inżynieria oprogramowania. Podczas tworzenia złożonych systemów informatycznych najważniejsze zadania realizowane są przed napisaniem pierwszych linii kodu źródłowego.
Autorzy: Format: Ocena: 4/5 |
Sprawny proces implementacji jest w dużym stopniu uzależniony od poprawnego wyboru stosowanych struktur danych. Znajdują one także przełożenie na efektywność funkcjonowania gotowych aplikacji. Programiści, którzy korzystają z języka Java mogą zdobyć wartościowe informacje o strukturach danych i sposobach ich zastosowania w programowaniu obiektowym sięgając po prezentowaną książkę.
Wydana w twardej oprawie pozycja liczy ponad dziewięćset stron. Rozpoczyna się od wprowadzenia do projektowania oprogramowania uwzględniającego m.in. kwestie związane z cyklem życia aplikacji.
Autorzy dzielą się następnie spostrzeżeniami na temat poprawności funkcjonowania i wydajności programów, po czym przechodzą do omówienia dziedziczenia i hierarchii klas. Przybliżają czytelnikom możliwości i zasady implementacji takich struktur, jak listy, stosy, kolejki i drzewa.
Omawiają także rekurencję i zbiory. Dostarczają informacji o popularnych technikach sortowania oraz o samorównoważących się drzewach. W ostatnim rozdziale przedstawiają natomiast grafy.
Warto również zwrócić uwagę na zawartość obszernych dodatków. Znalazły w nich swe miejsce m.in. wprowadzenia do języka Java oraz języka modelowania UML oraz rozważania na temat programowania opartego na zdarzeniach.
Całość uzupełnia słowniczek oraz nieodzowny w przypadku pozycji o tak dużej objętości skorowidz.
Prezentowana publikacja to godny uwagi przewodnik po strukturach danych i
technikach programowania obiektowego, dostępnych dla programistów korzystających z Javy. Dostarcza im informacji o zaletach i wadach poszczególnych struktur, o obszarach, w których można je efektywnie stosować, a ponadto uświadamia potrzebę sięgania po tak zróżnicowane konstrukcje w kontekście nowoczesnej inżynierii oprogramowania.