Clean Architecture aka Ports and Adapters (Java)
Chcesz się dowiedzieć w jakiej architekturze da się robić Clean Code. Nauczyć się rozróżniać co zasługuję na zaawansowaną architetkurę, a co można ogarnąć CRUD-em. Chcesz wybudować projekt oparty o architekturę Clean od zera? Ten warsztat jest dla Ciebie!
**Warsztat jest dla każdego, kto bierze udział w podejmowaniu decyzji architektonicznych – m.in. dla członków zespołów Scrumowych mających możliwość decydowania jak będzie wyglądał ich mikroserwis lub dla kogoś, kto chce zbudować efektywny modularny monolit. Do realizacji przykładów wykorzystamy (przede wszystkim) Javę 8 i Maven’a oraz (w nieco mniejszym stopniu) Spring Boot’a. Konieczna jest znajomość tych technologii na podstawowym poziomie.**
Podczas warsztatu opowiem Wam czym jest dokładnie architektura portów i adapterów, również znana jako Clean Architecture. Dowiecie się co o niej mówią Alastair Cockburn, Vaugh Vernon, Wujek Bob i inni. Oprócz tego będzie bardzo praktycznie. Pochylimy się nad wycinkiem domeny rezerwacji lotów. Wyłowimy z niej fragment, który warto umieścić w architekturze Clean. Przejdziemy przez kolejne koncentryczne warstwy i dla każdej z nich określimy poziom abstrakcji. Następnie użyjemy go do rozwiązania konkretnych, realistycznych problemów. Na koniec połączymy wynik z wygenerowanym CRUD-em.
Podczas warsztatu uczestnicy pracują na własnych komputerach. Zapewniamy pizzę dla uczestników oraz dostęp do kawy i herbaty.
Prowadzący
Od ponad 7 lat deweloper, przez ponad 2 lata lider techniczny. Generalista. Wywodzi się ze środowiska Java, ale w życiu robił też Front-end, był Scrum Masterem i pełnił obowiązki Project Manager’a. Jego ulubione tematy znajdują się na pograniczu biznesu i IT. Interesuje się Domain Driven Design, architekturą oraz wszelkimi aspektami pracy zespołowej. W tej chwili działa jako konsultant pod marką ITLIBRIUM. Jego bloga znajdziecie na itlibrium.com.
Program warsztatów
- Wstęp o tym po co stosuje się Clean Architecture i tym co w niej umieszczamy (Bounded Context DDD).
- Przedstawienie domeny – lista wymagań.
- Ćwiczenie – Próba wyłonienia skomplikowanych fragmentów które warto umieścić w architekturze Clean.
- Demonstracja – jak wygląda start projektu w architekturze Clean – układ paczek, dostępy pakietowe
- Ćwiczenie – set-up zaczątku projektu w architekturze clean
- Demonstracja – jak umieszczać model w architekturze clean (różnica pomiędzy warstwami UseCase i Domain Model). Co jest portem
- Ćwiczenie – umieszczenie modelu z ćwiczenia 3 w naszej architekturze – wykorzystanie warstw use case i domenowej
- Adaptery – przedstawienie koncepcji
- Ćwiczenie – dopisujemy adaptery – REST oraz Persystencja
- Omówienie ćwiczenia
- Współistniejący CRUD – koncepcja Modularnego monolitu
- Ćwiczenie – generowanie modelu CRUD i umieszczenie w projekcie
- Integracja z CRUD – możliwości
- Ćwiczenie – integracja z CRUD
- Podsumowanie – pytania, ankieta
Uwaga
Zapisy na wybrany warsztat zostały zakończone.