reklama - zainteresowany?

Stosowanie wzorców projektowych w C++. Kod wielokrotnego wykorzystania w programowaniu zorientowanym obiektowo - Helion

Stosowanie wzorców projektowych w C++. Kod wielokrotnego wykorzystania w programowaniu zorientowanym obiektowo
ebook
Autor: Dmitri Nesteruk
Tytuł oryginału: Design Patterns in Modern C++: Reusable Approaches for Object-Oriented Software Design
Tłumaczenie: Krzysztof Bąbol, Radosław Meryk
ISBN: 978-83-283-7176-7
stron: 224, Format: ebook
Data wydania: 2021-03-02
Księgarnia: Helion

Cena książki: 31,35 zł (poprzednio: 55,98 zł)
Oszczędzasz: 44% (-24,63 zł)

Dodaj do koszyka Stosowanie wzorców projektowych w C++. Kod wielokrotnego wykorzystania w programowaniu zorientowanym obiektowo

Tagi: C++ - Programowanie

Wzorce projektowe powinny się znaleźć w przyborniku każdego profesjonalnego programisty. Ich zaletą jest nie tylko łatwość tworzenia kodu wielokrotnego użytku, ale także możliwość szybkiego rozwiązywania złożonych zagadnień. Osoby, które chcą rozwijać swoje umiejętności programistyczne, mogą również wykorzystać wzorce projektowe do inspirującego dochodzenia, jak można rozwiązać konkretny problem na wiele sposobów - o zróżnicowanym stopniu zaawansowania technicznego i z zastosowaniem różnego rodzaju kompromisów. Taka zabawa jest bardzo zajmująca i pouczająca.

To książka przeznaczona dla programistów C++, którzy chcą poszerzyć swoją wiedzę na temat wzorców projektowych przy użyciu standardu C++17. Opisano tu zarówno klasyczne, jak i całkiem nowoczesne wzorce projektowe ułatwiające rozwiązywanie konkretnych problemów programistycznych w optymalny sposób. Przedstawiono też znaczenie niektórych najnowszych cech języka C++ dla implementacji wzorców. Treść została zilustrowana szeregiem przykładów i scenariuszy pokazujących wykorzystanie wzorców , ich alternatywy i wzajemne relacje. Co więcej, przykłady kodu - przy zachowaniu czytelności - prezentują sobą wysoką jakość oprogramowania produkcyjnego.

W książce między innymi:

  • zasady korzystania z wzorców projektowych w nowoczesnym C++
  • wzorce kreacyjne: Budowniczy, Fabryka, Prototyp i Singleton
  • wzorce strukturalne: Adapter, Most, Dekorator, Fasada
  • wzorce zachowań: Łańcuch Odpowiedzialności, Polecenie, Iterator, Mediator
  • funkcyjne wzorce projektowe, takie jak Monada

Wzorce projektowe w C++: gwarancja najlepszej architektury!

Dodaj do koszyka Stosowanie wzorców projektowych w C++. Kod wielokrotnego wykorzystania w programowaniu zorientowanym obiektowo

Dodaj do koszyka Stosowanie wzorców projektowych w C++. Kod wielokrotnego wykorzystania w programowaniu zorientowanym obiektowo

Spis treści

Stosowanie wzorców projektowych w C++. Kod wielokrotnego wykorzystania w programowaniu zorientowanym obiektowo eBook -- 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

Dodaj do koszyka Stosowanie wzorców projektowych w C++. Kod wielokrotnego wykorzystania w programowaniu zorientowanym obiektowo

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.