okladka

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)