Spis treści:Przedmowa (9)Wstęp (11)Przewodnik dla Czytelników (13)Rozdział 1. Wprowadzenie (15) * 1.1. Czym jest wzorzec projektowy? (16) * 1.2. Wzorce projektowe w architekturze MVC w języku Smalltalk (18) * 1.3. Opisywanie wzorców projektowych (20) * 1.4. Katalog wzorców projektowych (22) * 1.5. Struktura katalogu (24) * 1.6. Jak wzorce pomagają rozwiązać problemy projektowe? (26) * 1.7. Jak wybrać wzorzec projektowy? (42) * 1.8. Jak stosować wzorce projektowe? (43)Rozdział 2. Studium przypadku - projektowanie edytora dokumentów (45) * 2.1. Problemy projektowe (45) * 2.2. Struktura dokumentu (47) * 2.3. Formatowanie (52) * 2.4. Ozdabianie interfejsu użytkownika (55) * 2.5. Obsługa wielu standardów wyglądu i działania (59) * 2.6. Obsługa wielu systemów okienkowych (63) * 2.7. Działania użytkowników (69) * 2.8. Sprawdzanie pisowni i podział słów (74) * 2.9. Podsumowanie (86)Rozdział 3. Wzorce konstrukcyjne (87) * BUDOWNICZY (BUILDER) (92) * FABRYKA ABSTRAKCYJNA (ABSTRACT FACTORY) (101) * METODA WYTWÓRCZA (110) * PROTOTYP (PROTOTYPE) (120) * SINGLETON (SINGLETON) (130) * Omówienie wzorców konstrukcyjnych (137)Rozdział 4. Wzorce strukturalne (139) * ADAPTER (ADAPTER) (141) * DEKORATOR (DECORATOR) (152) * FASADA (FACADE) (161) * KOMPOZYT (COMPOSITE) (170) * MOST (BRIDGE) (181) * PEŁNOMOCNIK (PROXY) (191) * PYŁEK (FLYWEIGHT) (201) * Omówienie wzorców strukturalnych (213)Rozdział 5. Wzorce operacyjne (215) * INTERPRETER (INTERPRETER) (217) * ITERATOR (ITERATOR) (230) * ŁAŃCUCH ZOBOWIĄZAŃ (CHAIN OF RESPONSIBILITY) (244) * MEDIATOR (MEDIATOR) (254) * METODA SZABLONOWA (TEMPLATE METHOD) (264) * OBSERWATOR (OBSERVER) (269) * ODWIEDZAJĄCY (VISITOR) (280) * PAMIĄTKA (MEMENTO) (294) * POLECENIE (COMMAND) (302) * STAN (STATE) (312) * STRATEGIA (STRATEGY) (321) * Omówienie wzorców operacyjnych (330)Rozdział 6. Podsumowanie (335) * 6.1. Czego można oczekiwać od wzorców projektowych? (335) * 6.2. Krótka historia (339) * 6.3. Społeczność związana ze wzorcami (340) * 6.4. Zaproszenie (342) * 6.5. Słowo na zakończenie (342)Dodatek A: Słowniczek (343)Dodatek B: Przewodnik po notacji (347) * B.1. Diagram klas (347) * B.2. Diagram obiektów (349) * B.3. Diagram interakcji (350)Dodatek C: Klasy podstawowe (351) * C.1. List (351) * C.2. Iterator (354) * C.3. ListIterator (354) * C.4. Point (355) * C.5. Rect (355)Bibliografia (357)Skorowidz (363) Naucz się wykorzystywać wzorce projektowe i ułatw sobie pracę! * Jak wykorzystać projekty, które już wcześniej okazały się dobre? * Jak stworzyć elastyczny projekt obiektowy? * Jak sprawnie rozwiązywać typowe problemy projektowe?Projektowanie oprogramowania obiektowego nie jest łatwe, a przy założeniu, że powinno ono nadawać się do wielokrotnego użytku, staje się naprawdę skomplikowane. Aby stworzyć dobry projekt, najlepiej skorzystać ze sprawdzonych i efektywnych rozwiązań, które wcześniej były już stosowane. W tej książce znajdziesz właśnie najlepsze doświadczenia z obszaru programowania obiektowego, zapisane w formie wzorców projektowych gotowych do natychmiastowego użycia!W książce "Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku" opisano, czym są wzorce projektowe, a także w jaki sposób pomagają one projektować oprogramowanie obiektowe. Podręcznik zawiera studia przypadków, pozwalające poznać metody stosowania wzorców w praktyce. Zamieszczono tu również katalog wzorców projektowych, podzielony na trzy kategorie: wzorce konstrukcyjne, strukturalne i operacyjne. Dzięki temu przewodnikowi nauczysz się skutecznie korzystać z wzorców projektowych, ulepszać dokumentację i usprawniać konserwację istniejących systemów. Krótko mówiąc, poznasz najlepsze sposoby sprawnego opracowywania niezawodnego projektu. * Wzorce projektowe w architekturze MVC * Katalog wzorców projektowych * Projektowanie edytora dokumentów * Wzorce konstrukcyjne, strukturalne i operacyjne * Dziedziczenie klas i interfejsów * Określanie implementacji obiektów * Obsługa wielu standardów wyglądu i działania * Zastosowanie mechanizmów powtórnego wykorzystania rozwiązaniaWykorzystaj zestaw konkretnych narzędzi do programowania obiektowego!