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 |
