Czas trwania
3 dni
Abstrakt
Szkolenie ma za zadanie zapoznać uczestników z tematyką Domain Driven Design. Podczas szkolenia zostanie przedstawione wiele technik i zdobywczy nowoczesnej inżynierii oprogramowania. Tematy będą omówione z wykorzystaniem praktycznych przykładów. Szkolenie jest organizowane w formie warsztatów oraz dyskusji, podczas których będziemy rozwiązywać konkretne problemy oraz projektować systemy biznesowe.
Zagadnienia
Wprowadzenie do DDD |
Niebanalne domeny |
Czym jest DDD? |
Architektura aplikacji DDD |
Architektura warstwowa |
Architektura hexagonu |
Tworzenie aplikacji DDD |
Ubiquitous Language |
Analiza i modelowanie |
Jak, o co i kogo pytać? |
Budowa systemów szybko reagujących na zmianę otoczenia biznesowego |
Zespół i role w zespole |
Antywzorce DDD |
Wzorce architektur |
Architektura warstwowa |
Warstwa, a tier |
Warstwa biznesowa, a warstwa aplikacyjna |
Warstwa biznesowa |
Bogata domena vs CRUD |
Wzorce architektoniczne |
Transaction script |
Table Module |
Active Record |
Domain Module |
Building blocki DDD |
Encja |
Agregat |
Value Object |
Fabryka |
Zmniejszanie couplingu |
Repozytorium |
ORM |
Transakcje |
Konkurencyjność |
Persystencja |
Serwis domenowy |
Wprowadzanie punktów rozszerzeń |
Strategia, polityka |
Specyfikacja |
Zdarzenia |
Warstwa aplikacyjna |
Modelowanie business case scenario |
Podejścia |
Service |
Command i CommandHanlder |
Infrastrutkura dla cross cutting concerns |
CqRS |
CQS |
Read and Write stack |
Command i ComamndHandler |
Alternatywa dla Application Service |
Projectors |
Eventual consistency |
EventSourcing |
Modelowanie modułow, contextów, autonomicznych komponentów |
Bounded Context |
Relacji kontekstów między sobą |
Typy contextów |
Core domain |
Generic domain |
Supporting domain |
Integracja Bounded Context |
Domain Event |
Saga |
Inversion of Control – IoC |
Dependency Injection |
Zdarzenia |
Wzorzec Observer |
Implementacja .NETowa i jej problemy |
EventBroker/EventAggregator |
Luźny sposób łączenia komponentów |
RPC vs Messaging |
Implementacje |
Działanie w procesie w obrębie transakcji |
Wstęp do szyny danych |
Zastosowania |
Integracja modułów aplikacji – autonomicznych komponentów |
Audyt, logowanie |
Tworzenie projekcji modelu biznesowego na model tylko do odczytu |
Jak stworzyć model w 1NF z modelu w 3NF |
Projektory i Data Transfer Object |
Separacja infrastruktury od Core Biznesowego |
Wysyłanie e-maili, sms, poczty |
Chain of responsibility |
EventSourcing |
Przykład modelu persystencji opartego o strumień zdarzeń |
Interfejs użytkownika |
Komunikacja partów interfejsowych |
Integracja z logiką biznesową |
Długotrwałe procesy biznesowe |
Saga, Workflow |
Procesy składające się z sekwencji wielu zdarzeń |
Programowanie aspektowe |
Możliwości funkcjonalne i niefunkcjonalne aplikacji |
Testowanie systemów |
Rodzaje testów i mapowanie ich na warstwy aplikacji |
Piramida testów |