#148

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

Szymon Janikowski:

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

  1. Wstęp o tym po co stosuje się Clean Architecture i tym co w niej umieszczamy (Bounded Context DDD).
  2. Przedstawienie domeny – lista wymagań.
  3. Ćwiczenie – Próba wyłonienia skomplikowanych fragmentów które warto umieścić w architekturze Clean.
  4. Demonstracja – jak wygląda start projektu w architekturze Clean – układ paczek, dostępy pakietowe
  5. Ćwiczenie – set-up zaczątku projektu w architekturze clean
  6. Demonstracja – jak umieszczać model w architekturze clean (różnica pomiędzy warstwami UseCase i Domain Model). Co jest portem
  7. Ćwiczenie – umieszczenie modelu z ćwiczenia 3 w naszej architekturze – wykorzystanie warstw use case i domenowej
  8. Adaptery – przedstawienie koncepcji
  9. Ćwiczenie – dopisujemy adaptery – REST oraz Persystencja
  10. Omówienie ćwiczenia
  11. Współistniejący CRUD – koncepcja Modularnego monolitu
  12. Ćwiczenie – generowanie modelu CRUD i umieszczenie w projekcie
  13. Integracja z CRUD – możliwości
  14. Ćwiczenie – integracja z CRUD
  15. Podsumowanie – pytania, ankieta

Uwaga

W trosce o jakość warsztatów jesteśmy zmuszeni ograniczyć liczbę uczestników. **Kwalifikacja odbywa się na podstawie odpowiedzi udzielonych w formularzu zgłoszeniowym oraz - w dalszym kroku - kolejności zgłoszeń.** Potwierdzenie udziału w warsztatach wraz z instrukcją przygotowania środowiska otrzymasz najpóźniej na 7 dni przed planowaną datą wydarzenia.

Zapisy na wybrany warsztat zostały zakończone.