
Zmień podejście do programowania - zastosuj wzorce projektowe
- Skorzystaj z metod modelowania obiektowego w języku UML
- Poznaj różne typy wzorców projektowych
- Wykorzystaj wzorce projektowe w swoich programach
Wzorce projektowe to modele rozwiązań wielu zagadnień programistycznych, oparte na zasadach programowania obiektowego. Zastosowanie ich w projektach informatycznych zapewnia szybszą i bardziej efektywną pracę zarówno podczas projektowania i tworzenia oprogramowania, jak i na etapie jego wdrożenia. Sprawne korzystanie z wzorców projektowych wiąże się jednak z koniecznością poznania metod modelowania obiektowego, zrozumienia zasad obiektowości i umiejętności podzielenia projektowanego systemu na komponenty.
Książka "Programowanie zorientowane obiektowo. Wzorce projektowe. Wydanie drugie" to przewodnik po wzorcach projektowych, przedstawiający je od strony najbardziej istotnej dla programisty - od strony praktycznej. Przykłady w języku Java, diagramy UML i wyczerpujące komentarze - wszystko to sprawia, że po przeczytaniu tej ksiażki staniesz się ekspertem w dziedzinie wzorców projektowych i będziesz wykorzystywać je we wszystkich swoich projektach.
- Zasady obiektowości
- Modelowanie obiektowe w języku UML
- Standardowe rozwiązania obiektowe
- Wprowadzenie do wzorców projektowych
- Zasady stosowania wzorców projektowych
- Katalog wzorców projektowych
- Projektowanie i programowanie z zastosowaniem wzorców projektowych
Korzystając z wzorców projektowych, zwiększysz szybkość i efektywność swojej pracy nad aplikacjami.
O autorach:
Alan Shalloway pracuje w branży informatycznej od ponad 20 lat, często występuje na konferencjach, takich jak SD Expo, Java One, OOP czy też OOPSLA. [więcej...\
James R. Trott w trakcie swojej 20-letniej kariery programisty i projektanta wielokrotnie korzystał z technik analizy obiektowej i wzorców projektowych. [więcej...\
Wstęp (11)
- Od obiektowości poprzez wzorce projektowe do prawdziwej obiektowości (13)
- Od sztucznej inteligencji poprzez wzorce aż do prawdziwej obiektowości (17)
- Informacje o konwencjach zastosowanych w niniejszej książce (19)
- Nowości dodane w drugim wydaniu książki (21)
Część I Wprowadzenie do programowania obiektowego (23)
Rozdział 1. Obiektowość (25)
- Przegląd (25)
- Zanim pojawiły się obiekty: dekompozycja funkcjonalna (26)
- Problem określenia wymagań (27)
- Zmiany wymagań a dekompozycja funkcjonalna (29)
- Postępowanie w sytuacji zmieniających się wymagań (31)
- Obiektowość (34)
- Programowanie obiektowe w praktyce (40)
- Szczególne rodzaje metod (42)
- Podsumowanie (43)
- Pytania kontrolne (44)
Rozdział 2. Język UML (47)
- Przegląd (47)
- Czym jest język UML? (47)
- Zastosowanie języka UML (48)
- Diagram klas (49)
- Diagramy interakcji (54)
- Podsumowanie (57)
- Pytania kontrolne (57)
Część II Ograniczenia tradycyjnie pojmowanego projektowania obiektowego (59)
Rozdział 3. Problem wymagający rozwiązania uniwersalnego (61)
- Przegląd (61)
- Pozyskanie informacji z systemu CAD/CAM (61)
- Terminologia dziedziny zastosowań (62)
- Opis problemu (64)
- Prawdziwe wyzwania i rozwiązania (65)
- Podsumowanie (68)
- Pytania kontrolne (69)
Rozdział 4. Standardowe rozwiązanie obiektowe (71)
- Przegląd (71)
- Rozwiązanie wykorzystujące specjalizację (71)
- Podsumowanie (78)
- Pytania kontrolne (79)
Część III Wzorce projektowe (81)
Rozdział 5. Wprowadzenie do wzorców projektowych (83)
- Przegląd (83)
- Wzorce projektowe wywodzą się z architektury i antropologii (84)
- Wzorce projektowe - od architektury do programowania (86)
- Po co studiować wzorce projektowe? (89)
- Inne zalety studiowania wzorców projektowych (93)
- Podsumowanie (94)
- Pytania kontrolne (95)
Rozdział 6. Wzorzec fasady (97)
- Przegląd (97)
- Wprowadzenie do fasady (97)
- Fasada (98)
- Praktyczne uwagi na temat zastosowania fasady (100)
- Zastosowanie fasady w rozwiązaniu problemu CAD/CAM (101)
- Podsumowanie (101)
- Pytania kontrolne (102)
Rozdział 7. Wzorzec adaptera (105)
- Przegląd (105)
- Wprowadzenie do wzorca adaptera (105)
- Adapter (106)
- Praktyczne uwagi na temat zastosowania adaptera (111)
- Zastosowanie adaptera w celu rozwiązania problemu CAD/CAM (113)
- Podsumowanie (113)
- Pytania kontrolne (114)
Rozdział 8. Poszerzamy horyzonty (115)
- Przegląd (115)
- Obiekty - w rozumieniu tradycyjnym i nowym (116)
- Hermetyzacja - w rozumieniu tradycyjnym i nowym (118)
- Określ zmienność i hermetyzuj ją (121)
- Analiza wspólności i zmienności a klasy abstrakcyjne (124)
- Cechy programowania inteligentnego (127)
- Podsumowanie (131)
- Pytania kontrolne (131)
Rozdział 9. Wzorzec strategii (133)
- Omówienie (133)
- Sposób obsługi nowych wymagań (133)
- Studium problemu - międzynarodowy system do handlu elektronicznego: początkowe wymagania (136)
- Obsługa nowych wymagań (136)
- Wzorzec strategii (144)
- Praktyczne uwagi na temat stosowania wzorca strategii (146)
- Podsumowanie (147)
- Pytania kontrolne (148)
Rozdział 10. Wzorzec mostu (149)
- Przegląd (149)
- Wprowadzenie do wzorca mostu (149)
- Przykład problemu wymagającego zastosowania mostu (150)
- Obserwacja dotycząca zastosowań wzorców projektowych (159)
- Wyprowadzenie wzorca mostu (160)
- Wzorzec mostu - retrospekcja (167)
- Praktyczne uwagi na temat zastosowań mostu (167)
- Podsumowanie (171)
- Pytania kontrolne (173)
Rozdział 11. Wzorzec fabryki abstrakcyjnej (175)
- Przegląd (175)
- Wprowadzenie do wzorca fabryki abstrakcyjnej (175)
- Fabryka abstrakcyjna - przykład zastosowania (176)
- Implementacja wzorca fabryki abstrakcyjnej (182)
- Praktyczne uwagi na temat stosowania fabryki abstrakcyjnej (187)
- Zastosowanie fabryki abstrakcyjnej w rozwiązaniu problemu CAD/CAM (190)
- Podsumowanie (190)
- Pytania kontrolne (190)
Część IV Projektowanie z wykorzystaniem wzorców (193)
Rozdział 12. W jaki sposób projektują eksperci? (195)
- Przegląd (195)
- Tworzenie przez dodawanie wyróżnień (195)
- Podsumowanie (201)
- Pytania kontrolne (202)
Rozdział 13. Rozwiązanie problemu CAD/CAM z wykorzystaniem wzorców projektowych (203)
- Przegląd (203)
- Przypomnienie problemu CAD/CAM (204)
- Projektowanie z wykorzystaniem wzorców (205)
- Projektowanie z wykorzystaniem wzorców - etap 1 (206)
- Projektowanie z wykorzystaniem wzorców - etap 2a (207)
- Projektowanie z wykorzystaniem wzorców - etap 2b (210)
- Projektowanie z wykorzystaniem wzorców - etap 2c (214)
- Projektowanie z wykorzystaniem wzorców - powtórzone etapy 2a i 2b (fasada) (214)
- Projektowanie z wykorzystaniem wzorców - etapy 2a i 2b (adapter) (215)
- Projektowanie z wykorzystaniem wzorców - etapy 2a i 2b (fabryka abstrakcyjna) (216)
- Projektowanie z wykorzystaniem wzorców - etap 3 (216)
- Porównanie z poprzednimi wersjami rozwiązania (217)
- Podsumowanie (218)
- Pytania kontrolne (219)
Część V Zdążając w kierunku nowego sposobu projektowania (221)
Rozdział 14. Zasady i strategie projektowania z wykorzystaniem wzorców (223)
- Przegląd (223)
- Zasada otwarcia i zamknięcia (224)
- Zasada projektowania w kontekście (225)
- Zasada hermetyzacji zmienności (229)
- Klasy abstrakcyjne a interfejsy (230)
- Zasada zdrowego sceptycyzmu (232)
- Podsumowanie (232)
- Pytania kontrolne (233)
Rozdział 15. Analiza wspólności i zmienności (235)
- Przegląd (235)
- Analiza wspólności i zmienności a projektowanie aplikacji (235)
- Rozwiązanie problemu CAD/CAM przy wykorzystaniu analizy wspólności i zmienności (236)
- Podsumowanie (242)
- Pytania kontrolne (242)
Rozdział 16. Macierz analizy (243)
- Przegląd (243)
- Zmienność w świecie rzeczywistym (243)
- Studium zmienności: międzynarodowy system handlu elektronicznego (244)
- Uwagi praktyczne (251)
- Podsumowanie (255)
- Pytania kontrolne (255)
Rozdział 17. Wzorzec dekoratora (257)
- Przegląd (257)
- Nowe szczegóły (257)
- Wzorzec dekoratora (259)
- Zastosowanie dekoratora w omawianym studium problemu (260)
- Inne zastosowania: operacje wejścia i (lub) wyjścia (263)
- Praktyczne uwagi na temat stosowania dekoratora (265)
- Istota wzorca dekoratora (265)
- Podsumowanie (267)
- Pytania kontrolne (268)
Część VI Inne zalety wzorców (269)
Rozdział 18. Wzorzec obserwatora (271)
- Przegląd (271)
- Kategorie wzorców (271)
- Nowe wymagania aplikacji wspomagającej handel elektroniczny (273)
- Wzorzec obserwatora (274)
- Zastosowanie wzorca obserwatora (274)
- Praktyczne uwagi na temat zastosowania obserwatora (279)
- Podsumowanie (281)
- Pytania kontrolne (281)
Rozdział 19. Wzorzec metody szablonu (283)
- Przegląd (283)
- Nowe wymagania (283)
- Wzorzec metody szablonu (284)
- Zastosowanie wzorca metody szablonu (284)
- Zastosowanie wzorca metody szablonu do redukcji nadmiarowości (286)
- Praktyczne uwagi na temat zastosowania szablonu metody (291)
- Podsumowanie (292)
- Pytania kontrolne (293)
Część VII Fabryki (295)
Rozdział 20. Wnioski płynące ze stosowania wzorców projektowych - fabryki (297)
- Przegląd (297)
- Fabryki (297)
- Uniwersalny kontekst raz jeszcze (299)
- Fabryki działają zgodnie z wytycznymi (301)
- Ograniczanie wektorów zmian (302)
- Inny sposób rozumienia (303)
- Różne zastosowania fabryk (303)
- Praktyczne uwagi dotyczące fabryk (304)
- Podsumowanie (304)
- Pytania kontrolne (305)
Rozdział 21. Wzorzec singletonu oraz wzorzec blokowania dwufazowego (307)
- Przegląd (307)
- Wprowadzenie do wzorca singletonu (308)
- Zastosowanie wzorca singletonu (308)
- Wariant: wzorzec blokowania dwufazowego (310)
- Reflekcje (314)
- Praktyczne uwagi na temat zastosowania singletonu i blokowania dwufazowego (314)
- Podsumowanie (315)
- Pytania kontrolne (315)
Rozdział 22. Wzorzec puli obiektów (317)
- Przegląd (317)
- Problem wymagający zarządzania obiektami (318)
- Wzorzec puli obiektów (325)
- Obserwacje: tworzenie obiektów nie jest jedynym możliwym zastosowaniem fabryk (325)
- Podsumowanie (327)
- Pytania kontrolne (328)
Rozdział 23. Wzorzec metody fabryki (329)
- Przegląd (329)
- Nowe wymaganie (329)
- Wzorzec metody fabryki (330)
- Wzorzec metody fabryki a obiektowe języki programowania (331)
- Praktyczne uwagi dotyczące zastosowania wzorca metody fabryki (331)
- Podsumowanie (332)
- Pytania kontrolne (333)
Rozdział 24. Fabryki - podsumowanie (335)
- Przegląd (335)
- Etapy procesu tworzenia oprogramowania (335)
- Podobieństwa fabryk i zasad programowania ekstremalnego (336)
- Skalowanie (337)
Część VIII Podsumowanie (339)
Rozdział 25. Wzorce projektowe i nowa perspektywa projektowania obiektowego (341)
- Przegląd (341)
- Podsumowanie zasad obiektowości (342)
- Hermetyzacja implementacji za pomocą wzorców projektowych (343)
- Analiza wspólności i zmienności a wzorce projektowe (343)
- Dekompozycja dziedziny problemu poprzez określenie odpowiedzialności (344)
- Wzorce i projektowanie w kontekście (345)
- Powiązania wewnątrz wzorców (346)
- Wzorce projektowe i praktyki programowania inteligentnego (347)
- Uwagi praktyczne (347)
- Podsumowanie (348)
- Pytania kontrolne (348)
Rozdział 26. Bibliografia (351)
- Programowanie zorientowane obiektowo: strony WWW (351)
- Zalecana lektura (352)
- Lektura przeznaczona dla programistów korzystających z języka Java (353)
- Lektura przeznaczona dla programistów korzystających z języka C++ (354)
- Lektura przeznaczona dla programistów korzystających z języka COBOL (355)
- Lektura dotycząca metodyki programowania ekstremalnego (355)
- Zalecana lektura dotycząca programowania (356)
- Ulubiona lektura autorów (356)
Dodatki (359)
Skorowidz (361)