Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne

Kod: NET-.NET patterns
Kategoria: .NET
Forma: 50% wykłady / 50% ćwiczenia
Czas trwania: 3 dni
Grupa docelowa: developerzy
architekci
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.
Data i dokładny zakres do ustalenia podczas analizy przed-szkoleniowej.

Szkolenie prezentuje poprawną implementację popularnych wzorców projektowych.

Szkolenie jest przeznaczone dla zaawansowanych programistów, projektantów i architektów poszukujących rozwiązań dla systemów o złożonej logice.

Podczas szkolenia stopniowo rozwijamy istniejący system o nowe funkcjonalności korzystając z nabytej wiedzy o wzorcach. Z uwagi na ilość wzorców jaka jest przedstawiana ćwiczenia polegają często na małych (ale krytycznych) zmianach w istniejącym kodzie.

W trakcie szkolenia poruszamy problemy testowania automatycznego: wpływ stosowania wzorców na testowalność kodu oraz wzorce dla kodu testów.

Wyróżniki szkolenia

Podczas zajęć możesz oczekiwać szczególnych akcentów położonych na poniższe aspekty:

  • Niwelowanie długu technicznego na wczesnym etapie
  • Architektura podatna na rozwój, utrzymanie i testowanie
  • Praktyczne, nieakademickie przykłady

Program Szkolenia

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Wprowadzenie
    1. OO - poprawna interpretacja
    2. GRASP
    3. SOLID
    4. Dlaczego warto pamiętać o KISS i DRY
  2. Wzorce
    1. Strategy
      1. Pluginy
      2. Kastomizacja logiki per wdrożenie
      3. Wstrzykiwanie strategii
      4. Modelowanie w stylu funkcyjnym
    2. Adapter
      1. Trywializacja do postacie Wrappera
      2. Value Objects - odpowiedni poziom abstrakcji dla modeli biznesowych
    3. Bridge
      1. Otwarcie na zmiany poprzez podwójną abstrakcję
      2. Nawiązanie do Role Object i Extension Object
    4. Builder
      1. Dostęp do hermetycznych obiektów
      2. Assembler i Object Mother - zastosowanie w testach jednostkowych
    5. Chain of Responsibility
      1. Manager łańcucha - zastodowanie do walidacji
    6. Command
      1. Anti-Command - zastodowanie do operacji undo
      2. Command Handler w architekturach klient-serwer
        1. Wersjonowanie API
        2. Własny framework AOP w 50 linijkach kodu
    7. Composite
      1. Specification w kontekście dynamicznych reguł biznesowych
    8. Decorator
      1. Dynamiczne dziedziczenie
    9. Event Aggregator
    10. Facade
      1. Zmiana API
      2. Redukacja interakcji z serwerem
    11. Factory idiom
    12. Mediator
      1. Orkiestracja skomplikowanego UI
    13. Memento
    14. MVP
    15. MVVM
    16. NULL Object
    17. Observer
      1. Pluginy
      2. Event Broker i Event Bus w architekturze serwerowej
    18. Proxy
    19. Repository
    20. Role Object
      1. Uzależnienie logiki od roli zalogowanego użytkownika
      2. Bezpieczeństwo
      3. Integracja z archetypem biznesowym Party
    21. Singleton
      1. Antywzorzec w przykładach
    22. Service Locator
    23. State
      1. Alternatywne podejścia do konstruowania maszyn stanów
    24. Template Method
      1. Otarcie się o antywzorzec
    25. Unit of Work
    26. Visitor
      1. Wygodny sposób na obsługę typów wyliczeniowych
    27. Rules
  3. Testowanie automatyczne
    1. Wpływ dobrego projektu obiektowego na testowalność kodu
      1. Wysoka kohezja
        1. Zastosowanie SOLID i GRASP
      2. Niski coupling
        1. Zastosowanie Fabryk, Zdarzeń i Strategii
    2. TDD
      1. Podejście Specification First
      2. Cykl Red, Green, Refactor
    3. Narzędzia
      1. Uruchamianie testów
      2. Zaślepki: Mock, Stub, Fake, Spy
      3. Automatyczne uruchamianie testów w tle w Visual Studio
    4. Wzorce tworzenia testów
      1. Testujemy zachowania a nie metody
      2. Arrange, Act, Assert
      3. Przygotowanie stanu
        1. Object Mother
        2. Assembler (Builder)
      4. Sprawdzenie
        1. Assert Object
        2. Matcher


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Zapytaj o szkolenie

Imię i nazwisko:
Firma:
E-mail/Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń