STOSOWANIE WZORCÓW PROJEKTOWYCH W C++

51.30

Na stanie

SPIS TREŚCI

O autorze 9

O korektorze merytorycznym 11

Rozdział 1. Wprowadzenie 13

  • Preliminaria 14
    • Dla kogo jest ta książka? 14
    • O przykładach kodu 14
    • O narzędziach programistycznych 15
  • Ważne koncepcje 15
    • Curiously Recurring Template Pattern (dosł. ciekawie rekurencyjny wzorzec szablonu) 15
    • Dziedziczenie domieszek 16
    • Właściwości 16
  • Zasady projektowania SOLID 17
    • Zasada pojedynczej odpowiedzialności 17
    • Zasada otwarty-zamknięty 19
    • Zasada podstawiania Liskov 23
    • Zasada segregacji interfejsów 25
    • Zasada odwracania zależności 27
    • Czas na wzorce! 29

CZĘŚĆ I. WZORCE KREACYJNE 31

Rozdział 2. Budowniczy 35

  • Scenariusz 35
  • Prosty budowniczy 36
  • Płynny budowniczy 37
  • Komunikowanie zamiaru 37
  • Budowniczy w stylu języka Groovy 39
  • Złożony budowniczy 40
  • Podsumowanie 43

Rozdział 3. Fabryki 45

  • Scenariusz 45
  • Metoda fabrykująca 46
  • Fabryka 47
  • Fabryka wewnętrzna 48
  • Fabryka abstrakcyjna 49
  • Fabryka funkcyjna 51
  • Podsumowanie 52

Rozdział 4. Prototyp 55

  • Konstrukcja obiektów 55
  • Zwykła duplikacja 56
  • Duplikacja za pomocą konstruktora kopiującego 56
  • Serializacja 58
  • Fabryka prototypów 60
  • Podsumowanie 61

Rozdział 5. Singleton 63

  • Singleton jako obiekt globalny 63
  • Klasyczna implementacja 64
    • Bezpieczeństwo wątkowe 66
  • Kłopoty z singletonami 66
  • Singletony a IoC 69
  • Monostat 69
  • Podsumowanie 70

CZĘŚĆ II. WZORCE STRUKTURALNE 71

Rozdział 6. Adapter 73

  • Scenariusz 73
  • Adapter 74
  • Tymczasowe stany adaptera 76
  • Podsumowanie 78

Rozdział 7. Most 79

  • Idiom Pimpl 79
  • Most 81
  • Podsumowanie 82

Rozdział 8. Kompozyt 85

  • Właściwości wspierane przez tablice 86
  • Grupowanie obiektów graficznych 88
  • Sieci neuronowe 89
  • Podsumowanie 92

Rozdział 9. Dekorator 93

  • Scenariusz 93
  • Dekorator dynamiczny 94
  • Dekorator statyczny 96
  • Dekorator funkcyjny 98
  • Podsumowanie 100

Rozdział 10. Fasada 103

  • Jak działa terminal 103
  • Zaawansowany terminal 104
  • Gdzie jest fasada? 105
  • Podsumowanie 106

Rozdział 11. Pyłek 107

  • Nazwy użytkowników 107
  • Boost.Flyweight 109
  • Zakresy ciągów 109
  • Podejście naiwne 110
  • Implementacja przy użyciu wzorca Pyłek 111
  • Podsumowanie 112

Rozdział 12. Pełnomocnik 113

  • Wskaźniki inteligentne 113
  • Pełnomocnik właściwości 114
  • Pełnomocnik wirtualny 115
  • Pełnomocnik komunikacji 116
  • Podsumowanie 118

CZĘŚĆ III. WZORCE ZACHOWAŃ 121

Rozdział 13. Łańcuch odpowiedzialności 123

  • Scenariusz 123
  • Łańcuch metod 124
  • Łańcuch brokerów 126
  • Podsumowanie 129

Rozdział 14. Polecenie 131

  • Scenariusz 131
  • Implementacja wzorca Polecenie 132
  • Operacje cofania 133
  • Polecenia złożone 135
  • Rozdzielanie zapytań od poleceń 137
  • Podsumowanie 139

Rozdział 15. Interpreter 141

  • Ewaluator wyrażeń numerycznych 142
    • Leksykalizacja 142
    • Parsowanie 143
    • Wykorzystanie leksera i parsera 146
  • Parsowanie za pomocą Boost.Spirit 146
    • Drzewo składni abstrakcyjnej 147
    • Parser 148
    • Wyświetlacz 148
  • Podsumowanie 149

Rozdział 16. Iterator 151

  • Iteratory w bibliotece standardowej 151
  • Przeglądanie drzewa binarnego 153
  • Iteracja przy użyciu koprocedur 156
  • Podsumowanie 157

Rozdział 17. Mediator 159

  • Chat room 159
  • Mediator ze zdarzeniami 162
  • Podsumowanie 164

Rozdział 18. Memento 167

  • Rachunek bankowy 167
  • Cofnij i ponów 169
  • Podsumowanie 171

Rozdział 19. Pusty obiekt 173

  • Scenariusz 173
  • Pusty obiekt 174
  • Wskaźnik shared_ptr nie jest pustym obiektem 175
  • Ulepszenia projektu 175
  • Niejawny pusty obiekt 175
  • Podsumowanie 176

Rozdział 20. Obserwator 177

  • Obserwatory właściwości 177
  • Observer<T> 178
  • Observable<T> 179
  • Łączenie obserwatorów z obserwowanymi obiektami 180
  • Problemy z zależnościami 181
  • Anulowanie subskrypcji i bezpieczeństwo wątków 182
  • Wielobieżność 183
  • Obserwator z biblioteki Boost.Signals2 185
  • Podsumowanie 185

Rozdział 21. Stan 187

  • Przejścia między stanami zależne od stanu 187
  • Maszyna stanów – „samoróbka” 190
  • Maszyny stanów z wykorzystaniem biblioteki Boost.MSM 192
  • Podsumowanie 195

Rozdział 22. Strategia 197

  • Strategia dynamiczna 197
  • Strategia statyczna 200
  • Podsumowanie 201

Rozdział 23. Metoda szablonowa 203

  • Symulacja gry 203
  • Podsumowanie 205

Rozdział 24. Wizytator 207

  • Nachalny wizytator 208
  • Wyświetlacz reflektywny 209
  • Co to jest dysponowanie? 210
  • Klasyczny wizytator 212
    • Implementacja dodatkowego wizytatora 213
  • Wizytator acykliczny 214
  • Warianty i funkcja std::visit 216
  • Podsumowanie 217

CZĘŚĆ IV. DODATEK A. FUNKCJONALNE WZORCE PROJEKTOWE 219

Rozdział 25. Monada Maybe 221

Autor

ISBN

978-83-283-7175-0

Liczba stron

Rok wydania

Wydawca

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „STOSOWANIE WZORCÓW PROJEKTOWYCH W C++”

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *