Darmowa dostawa od 150,00 zł
Stosowanie wzorców projektowych w C++. Kod wielokrotnego wykorzystania w programowaniu zorientowanym obiektowo
Promocja Okazja

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

  • Rok wydania: 2021 Oprawa: miękka ISBN: 9788328371750 Ilość stron: 224 Format: 16,5 x 23,5 cm
Rozmiar

51,30 zł

brutto / 1szt.
Najniższa cena z 30 dni przed obniżką: 57,00 zł / szt.-10%
Cena regularna: 57,00 zł / szt.-10%
Cena katalogowa:
Możesz kupić za pkt.
z
Produkt dostępny w bardzo dużej ilości
Skontaktuj się z obsługą sklepu, aby oszacować czas przygotowania tego produktu do wysyłki.
Produkt dostępny w bardzo dużej ilości
Wysyłka
14 dni na łatwy zwrot
Sprawdź, w którym sklepie obejrzysz i kupisz od ręki
Stosowanie wzorców projektowych w C++. Kod wielokrotnego wykorzystania w programowaniu zorientowanym obiektowo
Stosowanie wzorców projektowych w C++. Kod wielokrotnego wykorzystania w programowaniu zorientowanym obiektowo
Bezpieczne zakupy
Odroczone płatności. Kup teraz, zapłać później, jeżeli nie zwrócisz
Kup teraz, zapłać później - 4 kroki
Przy wyborze formy płatności, wybierz PayPo.PayPo - kup teraz, zapłać za 30 dni
PayPo opłaci twój rachunek w sklepie.
Na stronie PayPo sprawdź swoje dane i podaj pesel.
Po otrzymaniu zakupów decydujesz co ci pasuje, a co nie. Możesz zwrócić część albo całość zamówienia - wtedy zmniejszy się też kwota do zapłaty PayPo.
W ciągu 30 dni od zakupu płacisz PayPo za swoje zakupy bez żadnych dodatkowych kosztów. Jeśli chcesz, rozkładasz swoją płatność na raty.
Po zakupie otrzymasz pkt.

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!

O autorze

Dmitri Nesteruk jest analitykiem giełdowym i programistą. Występuje na konferencjach, tworzy kursy i pisze książki techniczne. Zawodowo interesuje się integracją rozwiązań w dziedzinie obliczeń, finansów i handlu algorytmicznego. Z upodobaniem programuje w C# i C++ i implementuje wysokowydajne przetwarzanie danych za pomocą takich technologii jak CUDA oraz FPGA. W 2009 roku za osiągnięcia w dziedzinie C# otrzymał tytuł MVP.

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

 
Marka
Autor
Dmitri Nesteruk
ISBN
9788328371750
Potrzebujesz pomocy? Masz pytania?Zadaj pytanie a my odpowiemy niezwłocznie, najciekawsze pytania i odpowiedzi publikując dla innych.
Zapytaj o produkt
Jeżeli powyższy opis jest dla Ciebie niewystarczający, prześlij nam swoje pytanie odnośnie tego produktu. Postaramy się odpowiedzieć tak szybko jak tylko będzie to możliwe. Dane są przetwarzane zgodnie z polityką prywatności. Przesyłając je, akceptujesz jej postanowienia.
Napisz swoją opinię
Twoja ocena:
5/5
Dodaj własne zdjęcie produktu:
pixel