E-book details

Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku

Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Ebook

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ązania

Wykorzystaj zestaw konkretnych narzędzi do programowania obiektowego!

  • Recenzje książki
  • Przedmowa
  • Wstęp
  • Przewodnik dla Czytelników
  • Rozdział 1. Wprowadzenie
    • 1.1. Czym jest wzorzec projektowy?
    • 1.2. Wzorce projektowe w architekturze MVC w języku Smalltalk
    • 1.3. Opisywanie wzorców projektowych
      • Nazwa i kategoria wzorca
      • Przeznaczenie
      • Inne nazwy
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • 1.4. Katalog wzorców projektowych
    • 1.5. Struktura katalogu
    • 1.6. Jak wzorce pomagają rozwiązać problemy projektowe?
      • Znajdowanie odpowiednich obiektów
      • Określanie poziomu szczegółowości obiektu
      • Określanie interfejsów obiektów
      • Określanie implementacji obiektów
        • Dziedziczenie klas i interfejsów
        • Programowanie pod kątem interfejsu, a nie implementacji
      • Zastosowanie mechanizmów powtórnego wykorzystania rozwiązania
        • Dziedziczenie a składanie
        • Delegowanie
        • Dziedziczenie a typy sparametryzowane
      • Związki między strukturami czasu wykonywania programu i strukturami czasu kompilacji
      • Projektowanie pod kątem zmian
        • Aplikacje
        • Pakiety narzędziowe
        • Platformy
    • 1.7. Jak wybrać wzorzec projektowy?
    • 1.8. Jak stosować wzorce projektowe?
  • Rozdział 2. Studium przypadku projektowanie edytora dokumentów
    • 2.1. Problemy projektowe
    • 2.2. Struktura dokumentu
      • Składanie rekurencyjne
      • Klasy z rodziny Glyph
      • Wzorzec Kompozyt
    • 2.3. Formatowanie
      • Kapsułkowanie algorytmu formatowania
      • Klasy Compositor i Composition
      • Wzorzec Strategia
    • 2.4. Ozdabianie interfejsu użytkownika
      • Niewidoczna otoczka
      • Klasa MonoGlyph
      • Wzorzec Dekorator
    • 2.5. Obsługa wielu standardów wyglądu i działania
      • Abstrakcyjne ujęcie procesu tworzenia obiektów
      • Fabryki i klasy produktów
      • Wzorzec Fabryka abstrakcyjna
    • 2.6. Obsługa wielu systemów okienkowych
      • Czy można zastosować Fabrykę abstrakcyjną?
      • Kapsułkowanie zależności implementacyjnych
      • Klasy Window i WindowImp
        • Podklasy klasy WindowImp
        • Konfigurowanie obiektów Window za pomocą obiektów WindowImp
      • Wzorzec Most
    • 2.7. Działania użytkowników
      • Kapsułkowanie żądania
      • Klasa Command i jej podklasy
      • Możliwość cofania operacji
      • Historia poleceń
      • Wzorzec Polecenie
    • 2.8. Sprawdzanie pisowni i podział słów
      • Dostęp do rozproszonych informacji
      • Kapsułkowanie dostępu do danych i przechodzenia po nich
      • Klasa Iterator i jej podklasy
      • Wzorzec Iterator
      • Przechodzenie i działania wykonywane w jego trakcie
      • Kapsułkowanie analiz
      • Klasa Visitor i jej podklasy
      • Wzorzec Odwiedzający
    • 2.9. Podsumowanie
  • Rozdział 3. Wzorce konstrukcyjne
    • BUDOWNICZY (builder)
      • Przeznaczenie
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • FABRYKA ABSTRAKCYJNA (abstract factory)
      • Przeznaczenie
      • Inne nazwy
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • METODA WYTWÓRCZA (Factory Method)
      • Przeznaczenie
      • Inne nazwy
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • PROTOTYP (prototype)
      • Przeznaczenie
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • SINGLETON (singleton)
      • Przeznaczenie
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
      • Omówienie wzorców konstrukcyjnych
  • Rozdział 4. Wzorce strukturalne
    • ADAPTER (adapter)
      • Przeznaczenie
      • Inne nazwy
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • DEKORATOR (decorator)
      • Przeznaczenie
      • Inne nazwy
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • FASADA (facade)
      • Przeznaczenie
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • KOMPOZYT (composite)
      • Przeznaczenie
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • MOST (bridge)
      • Przeznaczenie
      • Inne nazwy
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • PEŁNOMOCNIK (proxy)
      • Przeznaczenie
      • Inne nazwy
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • PYŁEK (flyweight)
      • Przeznaczenie
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
      • Omówienie wzorców strukturalnych
        • Adapter i Most
      • Kompozyt, Dekorator i Pełnomocnik
  • Rozdział 5. Wzorce operacyjne
    • INTERPRETER (interpreter)
      • Przeznaczenie
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • ITERATOR (iterator)
      • Przeznaczenie
      • Inne nazwy
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • ŁAŃCUCH ZOBOWIĄZAŃ (chain of responsibility)
      • Przeznaczenie
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • MEDIATOR (mediator)
      • Przeznaczenie
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • METODA SZABLONOWA (template method)
      • Przeznaczenie
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • OBSERWATOR (observer)
      • Przeznaczenie
      • Inne nazwy
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • ODWIEDZAJĄCY (visitor)
      • Przeznaczenie
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • PAMIĄTKA (memento)
      • Przeznaczenie
      • Inna nazwa
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • POLECENIE (command)
      • Przeznaczenie
      • Inne nazwy
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • STAN (state)
      • Przeznaczenie
      • Inna nazwa
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
    • STRATEGIA (strategy)
      • Przeznaczenie
      • Inna nazwa
      • Uzasadnienie
      • Warunki stosowania
      • Struktura
      • Elementy
      • Współdziałanie
      • Konsekwencje
      • Implementacja
      • Przykładowy kod
      • Znane zastosowania
      • Powiązane wzorce
      • Omówienie wzorców operacyjnych
        • Kapsułkowanie zmian
        • Obiekty jako argumenty
        • Czy komunikacja powinna być zakapsułkowana czy rozproszona?
        • Oddzielanie nadawców od odbiorców
        • Podsumowanie
  • Rozdział 6. Podsumowanie
    • 6.1. Czego można oczekiwać od wzorców projektowych?
      • Standardowe słownictwo projektowe
      • Pomoc w dokumentowaniu i uczeniu się
      • Uzupełnienie istniejących metod
      • Docelowe elementy refaktoryzacji
    • 6.2. Krótka historia
    • 6.3. Społeczność związana ze wzorcami
      • Języki wzorców Alexandra
      • Wzorce w oprogramowaniu
    • 6.4. Zaproszenie
    • 6.5. Słowo na zakończenie
  • Dodatek A Słowniczek
  • Dodatek B Przewodnik po notacji
    • B.1. Diagram klas
    • B.2. Diagram obiektów
    • B.3. Diagram interakcji
  • Dodatek C Klasy podstawowe
    • C.1. List
      • Konstruowanie, usuwanie, inicjowanie i przypisywanie
      • Dostęp do elementów
      • Dodawanie elementów
      • Usuwanie elementów
      • Interfejs stosu
    • C.2. Iterator
    • C.3. ListIterator
    • C.4. Point
    • C.5. Rect
  • Bibliografia
  • Title: Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku
  • Author: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
  • Original title: Design Patterns: Elements of Reusable Object-Oriented Software (przepakowanie 2)
  • Translation: Tomasz Walczak
  • ISBN: 978-83-283-8610-5, 9788328386105
  • Date of issue: 2010-09-21
  • Format: Ebook
  • Item ID: wzoevv
  • Publisher: Helion