Tworzenie Modularnych Monolitów

Tytuł: Tworzenie Modularnych Monolitów
Kod: NET-Monoliths
Kategoria: .NET
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 3 dni
Odbiorcy: architekci, developerzy
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Szkolenie przeznaczone dla projektantów i architektów, którzy chcą konstruować duże monolityczne aplikacje w nowoczesnym stylu tak aby ich utrzymanie i rozwój dawały radość a nie frustracje. Przy małych i średnich projektach zastosowanie architektury mikroserwisowej nie jest opłacalne a pokładane nadzieje szybko sa rozwiewane dużymi kosztami rozwoju i utrzymania oprogramowania.

Kompleksowe podejście wytwarzania rozwiązań opartych o modularne monolity obejmuje: niezwykle istotny etap modelowania, pozwalający zaplanować architekturę na wysokim poziomie i wybrać odpowiednie style architektoniczne do proponowanych rozwiązań. Następnie uczestnicy implementują zaplanowane rozwiązanie napotykając na różne pułapki i przeszkody zaplanowane przez trenera odzwierciedlające problemy i wyzwania które pojawiają się codziennej pracy.

Forma

Przyrostowe stosowanie wiedzy w praktyce

Szkolenie prowadzone jest w formie, która łączy następujące po sobie na przemian wykłady, warsztaty i dyskusje.

Podczas wykładów trener prezentuje kolejne rozdziały wiedzy merytorycznej, uzupełniając je o komentarze na podstawie własnych doświadczeń.

Podczas warsztatów tworzymy rozwiązanie które z każdym zadaniem jest uzupełniane o nowe funkcjonalności ilustrujące zagadnienia teoretyczne poznane podczas poprzedzającego je wykładu.

Podczas dyskusji uczestnicy mają dostęp do wiedzy eksperckiej trenera oraz mają możliwość zweryfikowania swoich rozwiązań z wypracowanymi przez innych uczestników szkolenia.

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. Modelowanie strategiczne
    1. Modelowanie granic
      1. Bounded context separacja i integracja
      2. Domain distillation techniki wyłaniania
      3. Context mapping mapowanie modeli
    2. Zrozumienie problemu Event Storming
    3. Dokumentowanie C4
  2. Strukturyzowanie aplikacji
    1. Enkapsulacja wspomagana kontenerami Ioc
    2. Jak grupować kod w moduły
      1. Package by Layers
      2. Package by Feature
      3. Ports And Adapters
      4. Package by Component
  3. Integracja modułów
    1. Interfejsy komunikacyjne
      1. Command
      2. Query
      3. Event
    2. Rodzaje operacji
      1. Asynchronous
      2. Synchronous
    3. Wzorce wspomagające realizacje
      1. Mediator pattern
      2. Command-handler pattern
  4. Zależności
    1. Zależności cykliczne jak ich unikać
    2. Zależności tranzytywne jak sobie z nimi radzić (repack)
    3. Zarządzanie zależnościami za pomocą analiza statyczna
  5. Moduły
    1. Api gateway techniki integracji z światem zewnętrznym
      1. gRPC
      2. JsonRpc
      3. REST
    2. Modelowanie skomplikowanej logiki domenowej
      1. Port and adapters
      2. Domain Driven Design Building blocks
    3. CRUD szybkie prototypownie
      1. Podejście "Database First"
      2. Podejście "Code first"
      3. Code generation
    4. Modelowanie skomplikowanych odczytów
      1. CQRS Command Query Responsibility Separation
      2. Techniki łączenia danych
        1. database side
        2. client side
    5. Modelowanie długotrwałych procesów biznesowych
      1. Event sourcing long running
      2. Orchestration
      3. Choreography
    6. Moduły narzędziowe (utility)
    7. Moduły interfejsu użytkownika
      1. composition ui
        1. client side
        2. server side
  6. Modularność a przetrzymywanie danych
    1. techniki separacji danych
    2. zarządzanie strukturą danych
      1. wersjonowanie
      2. aktualizacja struktury
    3. Integracja z narzędziami CI/CD
  7. Modularność a elementy infrastrukturalne
    1. Programowanie zorientowane na aspekty
    2. Wzorce projektowe wspomagające
      1. Dekorator
      2. Proxy
  8. Podejście do testów
    1. integration tests how to write it
    2. Complex Write
      1. normal testing piramid (many unittest, few end to end )
      2. BDD applys here
    3. CRUD square (average unit tests, avr end to end)
    4. Complex Read
      1. reverse piramid (many end to end, few unit tests)


Pobierz program w formacie PDF

Trenerzy

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

Zamów 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ń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.