Wzorce projektowe dla programistów Javy. Udoskonal swoje umiejętności projektowania oprogramowania Katowice

Właściwe stosowanie wzorców projektowych jest umiejętnością, którą bardzo cenią twórcy oprogramowania. Wzorce pozwalają na szybkie opracowanie złożonych zagadnień i umożliwiają tworzenie kodu nadającego się do wielokrotnego użycia. Taki kod jest przy tym wydajny, łatwy w testowaniu i utrzymaniu. Z …

od 36,84 Najbliżej: 26 km

Liczba ofert: 1

Oferta sklepu

Opis

Właściwe stosowanie wzorców projektowych jest umiejętnością, którą bardzo cenią twórcy oprogramowania. Wzorce pozwalają na szybkie opracowanie złożonych zagadnień i umożliwiają tworzenie kodu nadającego się do wielokrotnego użycia. Taki kod jest przy tym wydajny, łatwy w testowaniu i utrzymaniu. Z pewnością wzorce projektowe są świetnym rozwiązaniem dla inżyniera, który chce doskonalić umiejętności projektowania oprogramowania. Książka stanowi zbiór praktycznych informacji dotyczących najpopularniejszych wzorców projektowych. Lekturę rozpoczniesz od zapoznania się z możliwościami korzystania z wzorców projektowych na platformie Javy. Dowiesz się także, jakich zasad trzeba przestrzegać, aby zapewnić czytelność i łatwość utrzymania kodu Javy. W kolejnych rozdziałach znajdziesz praktyczne wskazówki i przykłady dotyczące stosowania wzorców kreacyjnych, strukturalnych, operacyjnych, a także wzorców współbieżności. Nauczysz się ich używać do praktycznego rozwiązywania problemów często spotykanych podczas projektowania oprogramowania. Końcowy rozdział został poświęcony antywzorcom, a zawarte w nim informacje pomogą Ci w ich identyfikacji i podjęciu najlepszych środków zaradczych. W książce: jakie problemy można rozwiązać za pomocą wzorców projektowych w Javie jakie możliwości ma programowanie współbieżne jak wzorzec projektowy Obserwator buduje relację "jeden-do-wielu" między instancjami jakie problemy pomaga rozwiązać wzorzec Odwiedzający jak kontrolować zasoby przy użyciu wzorca Pula wątków jak zaradzić problemom spowodowanym przez antywzorce Wzorce projektowe: niezbędnik najlepszych programistów Javy! Spis treści: O autorze O recenzencie Słowo wstępne Wstęp CZĘŚĆ 1. Wzorce projektowe i funkcjonalności platformy JavaRozdział 1. Wprowadzenie do wzorców projektowych oprogramowaniaWymagania techniczne Kod - od symboli do programu Programowanie obiektowe i APDH Prezentowanie tylko tego, co niezbędne - hermetyzacja Nieunikniona ewolucja - dziedziczenie Zachowanie na żądanie - polimorfizm Standardowe możliwości - abstrakcja Elementy scalające APDH Rozumienie zasad projektowania SOLID Zasada jednej odpowiedzialności (SRP) - silnik to tylko silnik Zasada otwarte-zamknięte (OCP) Zasada podstawienia Liskov (LSP) - możliwość zastępowania klas Zasada segregacji interfejsów (ISP) Zasada odwrócenia zależności (DIP) Znaczenie wzorców projektowych Przegląd wyzwań rozwiązywanych przez wzorce projektowe Podsumowanie Pytania Dalsza lektura Rozdział 2. Odkrywanie platformy Java pod kątem wzorców projektowychWymagania techniczne Wstępne poznawanie Javy Przedstawienie modelu platformy Java oraz jej możliwości JDK JRE JVM Przegląd odzyskiwania pamięci i modelu pamięci w Javie JMM Odśmiecanie i automatyczne zarządzanie pamięcią Przedstawienie podstawowych API Javy Podstawowe typy danych i typy opakowujące Praca z API klasy String Przedstawienie tablic Prezentacja frameworka kolekcji API operacji matematycznych Programowanie funkcyjne w Javie Przedstawienie wyrażeń lambda i interfejsów funkcyjnych Korzystanie z interfejsów funkcyjnych w wyrażeniach lambda Przedstawienie systemu modułów Javy Krótki przegląd możliwości Javy z wersji od 11 do 17+ Składnia zmiennych lokalnych dla parametrów wyrażeń lambda (Java SE 11, JEP-323) Wyrażenie switch (Java SE 14, JEP-361) Bloki tekstowe (Java SE 15, JEP-378) Dostosowywanie wzorców w operatorze instanceof (Java SE 16, JEP-394) Rekordy (Java SE 16, JEP-395) Klasy zapieczętowane (Java SE 17, JEP-409) Domyślnie stosowane kodowanie UTF-8 (Java SE 18, JEP-400) Dopasowywanie wzorców w instrukcji switch (Java SE 18, Second Preview, JEP-420) Prezentacja współbieżności w Javie Od prostych wątków do wykonawców Wykonywanie zadań Podsumowanie Pytania Dalsza lektura CZĘŚĆ 2. Implementowanie standardowychRozdział 3. Kreacyjne wzorce projektoweWymagania techniczne Wszystko zaczyna się od klas, które stają się obiektami Tworzenie obiektów na podstawie danych wejściowych przy użyciu wzorca Metoda wytwórcza Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Tworzenie obiektów z różnych rodzin przy użyciu wzorca Fabryka abstrakcyjna Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Tworzenie złożonych obiektów przy użyciu wzorca Budowniczy Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Klonowanie obiektów przy wykorzystaniu wzorca Prototyp Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Zapewnianie istnienia tylko jednego obiektu przy użyciu wzorca projektowego Singleton Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Poprawianie wydajności dzięki wykorzystaniu wzorca Pula obiektów Uzasadnienie Przykłady wykorzystania wzorca w JDK Przykładowy kod Wniosek Inicjalizacja obiektów na żądanie przy wykorzystaniu wzorca Leniwa inicjalizacja Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Zmniejszanie zależności przy wykorzystaniu wzorca Wstrzykiwanie zależności Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Podsumowanie Pytania Dalsza lektura Rozdział 4. Stosowanie strukturalnych wzorców projektowychWymagania techniczne Współpraca niezgodnych obiektów dzięki użyciu wzorca Adapter Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Rozdzielanie i niezależne rozwijanie obiektów dzięki użyciu wzorca Most Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Traktowanie obiektów w ten sam sposób dzięki użyciu wzorca Kompozyt Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Rozszerzanie funkcjonalności obiektów przy użyciu wzorca Dekorator Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Upraszczanie komunikacji przy użyciu wzorca Fasada Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Stosowanie warunków do wybierania pożądanych obiektów przy wykorzystaniu wzorca Filtr Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Współdzielenie obiektów w całej aplikacji przy wykorzystaniu wzorca Pyłek Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Obsługa żądań przy wykorzystaniu wzorca projektowego Front Controller Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Identyfikowanie instancji za pomocą wzorca Znacznik Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Poznawanie koncepcji modułów przy wykorzystaniu wzorca Moduł Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Dostarczanie zamiennika przy użyciu wzorca Pełnomocnik Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Odkrywanie wielokrotnego dziedziczenia w Javie za pomocą wzorca Bliźniak Uzasadnienie Przykładowy kod Wniosek Podsumowanie Pytania Dalsza lektura Rozdział 5. Operacyjne wzorce projektoweWymagania techniczne Ograniczanie kosztownej inicjalizacji przy użyciu wzorca Buforowanie Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Obsługa zdarzeń przy wykorzystaniu wzorca Łańcuch zobowiązań Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Przekształcanie informacji w działanie przy użyciu wzorca Polecenie Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Nadawanie znaczenia kontekstowi przy użyciu wzorca Interpreter Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Sprawdzanie wszystkich elementów przy użyciu wzorca Iterator Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Stosowanie wzorca Mediator do wymiany informacji Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Przywracanie pożądanego stanu przy wykorzystaniu wzorca Pamiątka Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Unikanie wyjątków związanych z wartością null przy użyciu wzorca Obiekt pusty Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Informowanie wszystkich zainteresowanych stron przy użyciu wzorca Obserwator Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Obsługa etapów istnienia instancji przy wykorzystaniu wzorca Potok Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Zmiana zachowania obiektu przy wykorzystaniu wzorca Stan Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Wykorzystanie wzorca Strategia do zmiany zachowania obiektu Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Standaryzacja procesów przy użyciu wzorca Metoda szablonowa Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Wykonywanie kodu w oparciu o typ obiektu przy użyciu wzorca Odwiedzający Uzasadnienie Przykłady zastosowania w JDK Przykładowy kod Wniosek Podsumowanie Pytania Dalsza lektura CZĘŚĆ 3. Inne ważne wzorce projektowe i antywzorceRozdział 6. Wzorce projektowe współbieżnościWymagania techniczne Separowanie wykonania metody przy użyciu wzorca Aktywny obiekt Uzasadnienie Przykładowy kod Wniosek Tworzenie nieblokujących zadań przy użyciu wzorca Asynchroniczne wywołanie metody Uzasadnienie Przykładowy kod Wniosek Opóźnianie wykonania do momentu ukończenia poprzedniego zadania przy wykorzystaniu wzorca Balking Uzasadnienie Przykładowy kod Wniosek Udostępnianie unikalnej instancji przy użyciu wzorca Podwójnie sprawdzane blokowanie Uzasadnienie Przykładowy kod Wniosek Stosowanie celowego blokowania wątków przy użyciu wzorca Blokada odczytu-zapisu Uzasadnienie Przykładowy kod Wniosek Separowanie logiki wykonania przy wykorzystaniu wzorca Producent-konsument Uzasadnienie Przykładowy kod Wniosek Realizacja odizolowanych zadań przy użyciu wzorca Dyspozytor Uzasadnienie Przykładowy kod Wniosek Efektywne wykorzystanie wątków za pomocą wzorca Pula wątków Uzasadnienie Przykładowy kod Wniosek Podsumowanie Pytania Dalsza lektura Rozdział 7. Popularne antywzorceWymagania techniczne Czym są antywzorce i jak je identyfikować Zmiana zasad teoretycznych Gromadzenie długu technicznego jako wąskie gardło Niewłaściwe wykorzystanie możliwości platformy Java Wybór odpowiedniego narzędzia Podsumowanie antywzorca zapachu kodu Badanie typowych antywzorców oprogramowania Rozwlekły złożony kod Programowanie oparte na kopiowaniu i wklejaniu Klucha Potok lawy (ang. lava flow) Dekompozycja funkcjonalna Kotwica Wniosek Zrozumienie antywzorców architektury oprogramowania Złoty młotek Ciągłe starzenie się Wadliwe dane wejściowe Praca na polu minowym Niejednoznaczny punkt widzenia Poltergeist Ślepy zaułek Wniosek Podsumowanie Dalsza lektura Odpowiedzi Rozdział 1. Wprowadzenie do wzorców projektowych oprogramowania Rozdział 2. Odkrywanie platformy Java pod kątem wzorców projektowych Rozdział 3. Stosowanie kreacyjnych wzorców projektowych Rozdział 4. Stosowanie strukturalnych wzorców projektowych Rozdział 5. Operacyjne wzorce projektowe Rozdział 6. Wzorce projektowe współbieżności O autorze: Miroslav Wengner jest głównym inżynierem w OpenValue i współtwórcą OpenJDK. Pasjonuje się tworzeniem odpornych systemów rozproszonych i zapewnianiem jakości produktów. Bierze też udział w tworzeniu rozwiązań odpornych i skalowalnych. Chętnie występuje na branżowych konferencjach (JavaOne, Devoxx itp.).

Specyfikacja

Podstawowe informacje

Autor
  • Miroslav Wengner
Wybrane wydawnictwa
  • Helion
Format
  • PDF
  • MOBI
  • EPUB
Ilość stron
  • 232
Rok wydania
  • 2024