Kod: ARC-003
Czas trwania: 24 godzin
Czas trwania: 24 godzin
Opis szkolenia
Szkolenie obejmuje podstawowe zagadnienia DDD (Domain Driven Design) oraz zagadnienia związane z projektowaniem obiektowym OOP i OOD. Podczas kursu uczestnicy nauczą się, w jaki sposób DDD pomaga programistom w budowaniu złożonych systemów informatycznych (enterprise system) oraz przeanalizują techniki z poziomu wzorców strategicznych (Bounded Contexts) i techniki z poziomu wzorców taktycznych (szczególny nacisk zostanie położony na prawidłowe projektowanie Agregatów). Dodatkowo, przeanalizujemy również kilka typów architektury oprogramowania, które mogą być użyte w DDD.Kurs jest oparty na rzeczywistych przykładach i praktycznym zastosowaniu, dzięki czemu uczestnicy rozbudują swoją wiedzę teoretyczną oraz udoskonalą umiejętność modelowania strategicznego i taktycznego.
Plan szkolenia
Moduł 1. Wstęp do DDD. Zawiera wspólny język (Ubiquitous Language).Moduł 2. Wymagania wstępne. Zawiera:
- Zasady OOP, OOD
- Wzorce architektoniczne, logika biznesowa
Moduł 3. Projektowanie strategiczne DDD (Strategic Design) . Zawiera:
- Domeny, subdomeny
- Bounded Contexts
- Context Maps
- Sesja treningowa
- Wdrożenie projektowania strategicznego
Moduł 4. Wzorce architektoniczne w DDD (Architectural View). Przegląd:
- Architektura warstwowa (Layered Architecture)
- Architektura heksagonalna (portów i adapterów)
- Architektura SOA
- Architektura zdarzeniowa (Event Driven Architecture)
- Architektura CQRS
- Event Sourcing
- Sesja treningowa #2
- DDD Architectural View
Moduł 5. DDD Wzorce dziedzinowe. Część 1. Zawiera:
- Encje (Entities)
- Value Objects
- Agregaty (Aggregates)
- Fabryki (Factories)
Moduł 6. DDD Wzorce/pojęcia dziedzinowe. Część 2. Zawiera:
- Serwisy (Services)
- Zdarzenia domenowe (Domain Events)
- Moduły (Modules)
Cele
- Zrozumienie, w jaki sposób DDD pomaga w projektowaniu systemu informatycznego
- Umiejętność prawidłowego zastosowania myślenia strategicznego (strategic thinking) podczas budowania systemu informatycznego
- Umiejętność zastosowania technik z poziomu wzorców taktycznych w obrębie Bounded Context
- Umiejętność efektywnego modelowania Agregatów
- Zrozumienie znaczenia zdarzeń domenowych (Domain Events) i sposobu, w jaki mogą być użyte w integracji Bounded Contexts.