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.

Zakres
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ń


Wyrażam zgodę na przetwarzania danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z wysłaniem zapytania przez formularz kontaktowy.

Podanie danych jest dobrowolne ale niezbędne do przetworzenia zapytania. Zastałem/am poinformowany/na, że przysługuje mi prawo dostępu do swoich danych, możliwości ich poprawienia, żądania zaprzestania ich przetwarzania.

Administratorem danych osobowych jest Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin.


Klauzula informacyjna