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