SPIS TREŚCI
- O autorze
- O recenzencie technicznym
- Wprowadzenie
- Dla kogo jest ta książka?
- O przykładach kodu
- Przedmowa do drugiego wydania
- Część I. Wprowadzenie
- Rozdział 1. Zasady projektowania SOLID
- Zasada pojedynczej odpowiedzialności
- Zasada otwarty-zamknięty
- Zasada podstawiania Liskov
- Zasada segregacji interfejsów
- Parametr-obiekt
- Zasada odwracania zależności
- Rozdział 2. Perspektywa funkcyjna
- Podstawy funkcji
- Literały funkcyjne w języku C#
- Funkcje przechowywania w C#
- Literały funkcyjne w języku F#
- Kompozycja
- Cechy języka związane z paradygmatem funkcyjnym
- Część II. Wzorce kreacyjne
- Rozdział 3. Budowniczy
- Scenariusz
- Prosty budowniczy
- Płynny budowniczy
- Komunikowanie zamiaru
- Złożony budowniczy
- Parametry budowniczego
- Rozszerzanie budowniczego z wykorzystaniem rekurencyjnych typów generycznych
- Leniwy, funkcyjny budowniczy
- Konstrukcja DSL w F#
- Podsumowanie
- Rozdział 4. Fabryki
- Scenariusz
- Metoda wytwórcza
- Asynchroniczna metoda wytwórcza
- Fabryka
- Fabryka wewnętrzna
- Separacja logiczna
- Fabryka abstrakcyjna
- Fabryki-delegaty w IoC
- Fabryka funkcyjna
- Podsumowanie
- Rozdział 5. Prototyp
- Kopiowanie głębokie i płytkie
- ICloneable to zły pomysł
- Głębokie kopiowanie z wykorzystaniem specjalnego interfejsu
- Głębokie kopiowanie obiektów
- Duplikacja za pomocą konstruktora kopiującego
- Serializacja
- Fabryka prototypów
- Podsumowanie
- Rozdział 6. Singleton
- Singleton według konwencji
- Klasyczna implementacja
- Leniwe ładowanie i bezpieczeństwo wątków
- Kłopoty z singletonami
- Singletony a IoC
- Monostat
- Multiton
- Leniwe ładowanie i bezpieczeństwo wątków
- Podsumowanie
- Część III. Wzorce strukturalne
- Rozdział 7. Adapter
- Scenariusz
- Adapter
- Tymczasowe stany adaptera
- Problem z generowaniem skrótów
- Adapter właściwości (surogat)
- Adapter generycznych wartości
- Adapter a wstrzykiwanie zależności
- Adaptery w .NET Framework
- Podsumowanie
- Rozdział 8. Most
- Konwencjonalny most
- Most do dynamicznego prototypowania
- Podsumowanie
- Rozdział 9. Kompozyt
- Grupowanie obiektów graficznych
- Sieci neuronowe
- Opakowanie kompozytu
- Specyfikacja kompozytu
- Podsumowanie
- Rozdział 10. Dekorator
- Niestandardowy StringBuilder
- Adapter-dekorator
- Wielokrotne dziedziczenie z wykorzystaniem interfejsów
- Wielokrotne dziedziczenie z domyślnymi składowymi interfejsu
- Dynamiczna kompozycja dekoratora
- Kompozycja dekoratora statycznego
- Dekorator funkcyjny
- Podsumowanie
- Rozdział 11. Fasada
- Kwadraty magiczne
- Budowa terminalu handlowego
- Zaawansowany terminal
- Gdzie jest fasada?
- Podsumowanie
- Rozdział 12. Pyłek
- Nazwy użytkowników
- Formatowanie tekstu
- Podsumowanie
- Rozdział 13. Pełnomocnik
- Pełnomocnik zabezpieczający
- Pełnomocnik właściwości
- Pełnomocnik wartości
- Pełnomocnik kompozytu: SoA/AoS
- Pełnomocnik kompozytu z właściwościami przechowywanymi w tablicy
- Pełnomocnik wirtualny
- Pełnomocnik komunikacji
- Dynamiczny pełnomocnik do logowania
- Podsumowanie
- Część IV. Wzorce zachowań
- Rozdział 14. Łańcuch odpowiedzialności
- Scenariusz
- Łańcuch metod
- Łańcuch brokerów
- Podsumowanie
- Rozdział 15. Polecenie
- Scenariusz
- Implementacja wzorca Polecenie
- Operacje cofania
- Polecenia złożone
- Polecenie funkcyjne
- Zapytania i rozdzielanie zapytań od poleceń
- Podsumowanie
- Scenariusz
- Rozdział 16. Interpreter
- Ewaluator wyrażeń numerycznych
- Leksykalizacja
- Parsowanie
- Wykorzystanie leksera i parsera
- Interpreter w paradygmacie funkcyjnym
- Podsumowanie
- Ewaluator wyrażeń numerycznych
- Rozdział 17. Iterator
- Właściwości wspierane przez tablice
- Stwórzmy iterator
- Ulepszony iterator
- Adapter iteratora
- Podsumowanie
- Rozdział 18. Mediator
- Chat room
- Mediator ze zdarzeniami
- Wprowadzenie do biblioteki MediatR
- Podsumowanie
- Rozdział 19. Memento
- Rachunek bankowy
- Cofnij i ponów
- Wykorzystanie wzorca Memento do interakcji z kodem niezarządzanym
- Podsumowanie
- Rozdział 20. Pusty obiekt
- Scenariusz
- Podejście natrętne
- Wirtualny pełnomocnik pustego obiektu
- Pusty obiekt
- Dynamiczny pusty obiekt
- Podsumowanie
- Rozdział 21. Obserwator
- Słabe zdarzenie
- Strumienie zdarzeń
- Obserwatory właściwości
- Proste powiadomienie o zmianie
- Dwukierunkowe powiązania
- Problemy z zależnościami
- Widoki
- Kolekcje obserwowalne
- Obserwowalne zapytania LINQ
- Subskrypcje deklaratywne w Autofac
- Podsumowanie
- Rozdział 22. Stan
- Przejścia między stanami zależne od stanu
- Maszyna stanów samoróbka
- Maszyna stanów na bazie instrukcji switch
- Kodowanie tranzycji za pomocą wyrażeń instrukcji switch
- Maszyny stanów z wykorzystaniem biblioteki Stateless
- Typy, akcje i ignorowanie przejść
- Ponowne wejście w ten sam stan
- Stany hierarchiczne
- Dodatkowe własności
- Podsumowanie
- Rozdział 23. Strategia
- Strategia dynamiczna
- Strategia statyczna
- Strategie równości i porównywania
- Strategia funkcyjna
- Podsumowanie
- Rozdział 24. Metoda szablonowa
- Symulacja gry
- Funkcyjna odmiana Metody szablonowej
- Podsumowanie
- Rozdział 25. Wizytator
- Nachalny wizytator
- Wyświetlacz reflektywny
- Metody rozszerzeń?
- Funkcyjny wizytator reflektywny
- Usprawnienia
- Co to jest dysponowanie?
- Wizytator dynamiczny
- Klasyczny wizytator
- Implementacja dodatkowego wizytatora
- Wizytator acykliczny
- Wizytator funkcyjny
- Podsumowanie
Opinie
Na razie nie ma opinii o produkcie.