22 299 53 69 biuro@jsystems.pl
Karnet Open na szkolenia! Szkolenia bez limitu przez cały rok! Dowiedz się więcej.


Czysta architektura i testowanie reguł z ArchUnit - Projektowanie domenocentrycznych systemów ze stabilnymi granicami architektonicznymi

by:
Czas trwania 5 dni

Najbliższe terminy tego szkolenia

23.06 27.06 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się
20.10 24.10 Termin gwarantowany Szkolenie online Ostatnie miejsca!
Zapisz się

Szkolenie
dedykowane
dla Twojego
zespołu

Cena szkolenia 3500 PLN (netto)

Standardy JSystems

  1. Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
  2. Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
  3. Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
  4. Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Zapisz się
Program szkolenia
  1. Wprowadzenie do Czystej Architektury
    • Znaczenie i cele Czystej Architektury
    • Zalety i wady architektur bazodanocentrycznych i domenocentrycznych
    • Rola wyznaczania architektonicznych granic
    • Czysta Architektura a Czysty Kod
  2. Reguły projektowe w kontekście Czystej Architektury
    • Zasada zależności (Dependency Rule)
    • Zasady SOLID
      • Pojedyncza odpowiedzialność (SRP)
      • Otwarte/zamknięte (OCP)
      • Podstawienie Liskov (LSP)
      • Segregacja interfejsów (ISP)
      • Odwrócenie zależności (DIP)
    • Zasady komponentów
      • Spójność komponentów
      • Łączenie komponentów
    • Odwrócenie Kontroli (Inversion of Control)
    • Pakowanie logiki i danych
      • Pakowanie w warstwy
      • Pakowanie według funkcji
      • Pakowanie według komponentów
  3. Przykłady Czystych Architektur
    • Architektura Heksagonalna, tzw. Porty i Adaptery (Hexagonal Architecture, tzw. Ports and Adapters)
    • Architektura Cebulowa (Onion Architecture)
    • Architektura Krzycząca (Screaming Architecture)
  4. Granice Architektoniczne (Architectural Boundaries)
    • Granice modułów a odpowiedzialność systemu
    • Jak tworzyć elastyczne granice między komponentami?
  5. Ukrywanie szczegółów w architekturze
    • Ukrywanie szczegółów o interfejsie użytkownika
    • Ukrywanie szczegółów o bazie danych
    • Ukrywanie szczegółów o sieci WWW
    • Ukrywanie szczegółów o frameworkach
  6. Testowalność i skalowalność systemów
    • Dlaczego Czysta Architektura ułatwia testowanie?
    • Techniki testowania systemów z różnymi warstwami
    • Skalowanie aplikacji z wykorzystaniem modularności
  7. Praktyczne przykłady Czystej Architektury i analiza przypadków
    • Omówienie przykładów implementacji Czystej Architektury
    • Wspólna analiza problemów i rozwiązań w projektach
  8. Wprowadzenie do ArchUnit
    • Czym jest ArchUnit i dlaczego warto go używać
    • Automatyzacja testowania architektury w praktyce
  9. Podstawowe zasady pracy z ArchUnit
    • Instalacja i konfiguracja ArchUnit w projekcie Javowym
    • Podstawowa struktura testów w ArchUnit
    • Tworzenie pierwszych testów architektonicznych
  10. Definiowanie reguł architektonicznych w ArchUnit
    • Testowanie zależności między warstwami aplikacji
    • Kontrola zasad poprawności zależności między pakietami
    • Testowanie zgodności nazw klas, pakietów i metod z konwencjami nazewniczymi
  11. Zaawansowane testy w ArchUnit
    • Testowanie zgodności z zasadami SOLID
    • Testowanie zależności technologicznych
      • Ograniczanie użycia specyficznych bibliotek czy klas
    • Refaktoryzacja architektury z pomocą ArchUnit
  12. Implementacja testów architektury w Archunit dla przykładowych stylów architektonicznych
    • Testowanie domenocentrycznej Czystej Architektury
    • Testowanie klasycznej bazodanocentrycznej Architektury Warstwowej
  13. Integracja ArchUnit z narzędziami CI/CD
    • Jak włączyć ArchUnit do procesu Continuous Integration
    • Automatyczne testowanie architektury w pipeline’ach CI
    • Przykłady integracji z popularnymi narzędziami (Jenkins, GitLab CI, GitHub Actions)
  14. Zapis decyzji architektonicznych (Architecture Decision Record)
    • Dlaczego warto dokumentować decyzje architektoniczne?
    • Struktura ADR
      • Kontekst
      • Decyzja
      • Konsekwencje
    • Szablony ADR
    • Integracja ADR z narzędziami i repozytorium projektu
    • Wersjonowanie i aktualizacja ADR
    • Najlepsze praktyki
  15. Warsztaty praktyczne
    • Implementacja wybranych stylów architektonicznych Czystej Architektury w przykładowych projektach
    • Pisanie testów automatyzujących weryfikację reguł architektonicznych
    • Implementacja zapisu decyzji architektonicznych (ADR)
    • Debugowanie testów i analiza wyników
    • Najlepsze praktyki użycia ArchUnit w projektach komercyjnych
    • Najlepsze praktyki przy testowaniu architektury
    • Jak rozwijać i utrzymywać reguły architektoniczne w czasie
    • Wdrażanie Czystej Architektury, ArchUnit i ADR jako standardów w zespole deweloperskim

Opis szkolenia

Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!

Na szkoleniu zdobędziesz wiedzę i praktyczne umiejętności niezbędne do projektowania nowoczesnych i elastycznych systemów programistycznych zgodnych z zasadami Czystej Architektury (Clean Architecture) zorientowanej na domenę biznesową. Zrozumiesz relację między Czystą Architekturą a Czystym Kodem (Clean Code). Nauczysz się, jak skutecznie separować warstwy aplikacji i gdzie umieszczać granice architektoniczne, uniezależniając logikę biznesową od szczegółów technicznych i infrastruktury, co pozwoli tworzyć łatwe w utrzymaniu, modularne i odporne na zmiany rozwiązania. Zrozumiesz sens Odwrócenia Kontroli (Inversion of Control), a także poznasz użyteczne style architektoniczne, np. Architektura Heksagonalna (Porty i Adaptery), Architektura Krzycząca, Architektura Cebulowa.

Dodatkowo nauczysz się automatycznego testowania zasad architektonicznych w projektach opartych na Javie przy użyciu frameworka ArchUnit. Poznasz, jak definiować, weryfikować i egzekwować reguły architektoniczne, które pomogą utrzymać spójność i jakość struktury kodu w projektach. Zrozumiesz, jak efektywnie testować zależności między warstwami, kontrolować naruszenia zasad architektury oraz zapewnić zgodność z wytycznymi projektowymi.

Oprócz tego nauczysz się dokumentować decyzje architektoniczne za pomocą Architecture Decision Record (ADR). Nauczysz się, jak tworzyć przejrzyste i zwięzłe zapisy decyzji, w jaki sposób ADR wspiera procesy projektowe oraz jak zarządzać tymi dokumentami w dynamicznych, rozwijających się systemach. Poznasz również najlepsze praktyki i narzędzia, które ułatwią Ci implementację ADR w codziennej pracy zespołu.



Prowadzący szkolenie:
Maciej Górnicki



Programista i projektant z 13-letnim doświadczeniem, specjalizujący się w Javie i full-stack development. Pracował nad dużymi projektami korporacyjnymi w sektorach fintech oraz insurtech, zdobywając bogate doświadczenie w tworzeniu systemów rozproszonych oraz integracji opartej o API i zdarzenia.

Jako specjalista w dziedzinie Java i architektury oprogramowania, zajmował się również strategicznym rozwojem kompetencji technicznych w organizacji, będąc aktywnym rekruterem technicznym, trenerem oraz mentorem. Pasjonat współpracy z ekspertami domenowymi i klientami, z zamiłowaniem do prostoty i czytelności, z zainteresowaniem Domain Driven Design (DDD) oraz innymi podejściami inżynierii oprogramowania zorientowanymi na domenę biznesową.


Stanowisko robocze


Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Terminy gwarantowane

Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.

Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.

Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje. Ewentualne ryzyko ponosimy my jako organizator.

Przejdź do terminów tego szkolenia

Szkolenia online Szkolenia online odbywają się na żywo z udziałem trenera. Uczestniczy łączą się na szkolenie za pomocą platfomy ZOOM. Informacje o wymaganym niezbędnym oprogramowaniu oraz informacje organizacyjne uczestnicy otrzymują na 7 dni przed datą rozpoczęcia szkolenia.
Inne szkolenia tej kategorii Sprawdź pozostałe    szkolenia Java!

Sprawdź, co mówią o nas ci, którzy nam zaufali

  • 4.9/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    30-05-2025 Bardzo dobre szkolenie. Jeremi Zglinicki, SIEMENS INDUSTRY SOFTWARE SPOLKA Z OGRANICZONA ODPOWIEDZIALNOSCIA
  • 5.0/5

    Programowanie w języku Java

    24-05-2025 Szkolenie było super zorganizowane – intensywne, ale bardzo wartościowe. Duża dawka wiedzy, swobodna atmosfera sprzyjająca wymianie doświadczeń i zadawaniu pytań. Marcin wykazał się ogromną cierpliwością i świetną umiejętnością przekazywania wiedzy – widać, że zna temat od podszewki. Zdecydowanie polecam! Anita Gniewosz, PZU SA/PZU ŻYCIE SA
  • 5.0/5

    Spring WebFlux: Programowanie reaktywne w Javie z wykorzystaniem frameworka Spring

    12-12-2024 Szkolenie przeprowadzone profesjonalnie, duża wiedza merytoryczna trenera. Polecam. Jarosław Kokociński, SoftSystem Sp. z o.o.
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    30-11-2024 Profesjonalne, warte swojej ceny, ogrom wiedzy, świetni trenerzy, dobra współpraca z JSystems. Jarosław Demkowski, Silky Coders
  • 5.0/5

    Spring Cloud

    11-10-2024 Ciekawy sposób tłumaczenia kolejnych, powiązanych ze sobą zagadnień przez wykładowcę, dzięki czemu jest łatwiej zrozumieć co z czego wynika. Prowadzący to osoba z praktycznym doświadczeniem, która przywiązuje dużą wagę do jak najlepszego przekazania swojej wiedzy. Paweł Dziedzic, SoftSystem Sp. z o.o.
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    27-09-2024 Polecam! Mateusz Jusiak, Edubroker Sp. z o.o.
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    27-09-2024 Polecam każdemu szkolenie :)!, Bardzo fajnie prowadzone zajęcia, łatwo wszystko przyswoić. Widać że prowadzący zna się na rzeczy i co chyba najważniejsze... potrafi wyjaśnić problem na konkretnych przykładach!. Pozdrawiam!. Zygmunt Postawa, PKP Intercity S.A.
  • 5.0/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    28-06-2024 Przystępnie podana porcja wiedzy, która z pewnością przyda się w codziennej praktyce deweloperskiej. Dużo trafnych przykładów, znalazło się też nieco czasu na indywidualne ćwiczenia praktyczne. Dodatkowym plusem było zaangażowanie prowadzącego i możliwość swobodnej dyskusji nad proponowanymi rozwiązaniami. Kamil Ćwintal, Ośrodek Przetwarzania Informacji – Państwowy Instytut Badawczy
  • 5.0/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    20-06-2024 Dobrze przygotowany wykładowca, merytoryczne treści, serdecznie polecam :) Radosław Głowacki, Idemia Poland R&D
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    26-04-2024 Pan Marcin prowadzi szkolenie w zorganizowany sposób. Wiedza jest przekazywana w przystępny sposób, całe szkolenie jest w formie Live Coding - co mi się bardzo podobało. Polecam Karol Kistela, BPRobotics sp. z o.o.
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    26-04-2024 Bardzo polecam to szkolenie! Profesjonalne podejście prowadzącego oraz bogaty, praktyczny materiał sprawiły, że czas spędzony na kursie był niezwykle wartościowy. Wszystko było doskonale zorganizowane, a zdobyta wiedza z pewnością przyczyni się do mojego rozwoju zawodowego. Prowadzący był bardzo kompetentny i chętnie dzielił się swoją wiedzą, odpowiadając na wszystkie pytania. To była świetna inwestycja w moje umiejętności i zdecydowanie polecam ten kurs każdemu, kto chce podnieść swoje kwalifikacje! Piotr Rostek, PZU SA/PZU ŻYCIE SA
  • 5.0/5

    Spring Boot i Docker + wprowadzenie do mikroserwisów

    26-04-2024 Spring Boot i Docker + wprowadzenie do mikroserwisów - świetne szkolenie, duża dawka wiedzy przekazana przez Marcina pozwoliła mi zrobić spory krok do przodu w rozumieniu wszystkich procesów oraz efektywniejszego programowania. Świetne wytłumaczenie od A do Z - od momentu tworzenia samego projektu, po jego zakończenie. Sebastian Stawiarski, ORNSSON SOLUTIONS Sp. z o.o.
  • 5.0/5

    Spring WebFlux: Programowanie reaktywne w Javie z wykorzystaniem frameworka Spring

    28-03-2024 Bardzo dobre wejście w świat reaktywnej javy, asynchroniczności i wielowątkowości Jakub Musialik, Ornsson Solutions Sp. z o.o.
  • 5.0/5

    Spring WebFlux: Programowanie reaktywne w Javie z wykorzystaniem frameworka Spring

    28-03-2024 Marcin świetnie prowadzi zajęcia, chętnie udziela odpowiedzi na nurtujące nas pytania. Przemysław Czerw, Ornsson Solutions Sp. z o.o.
  • 4.9/5

    Spring Boot - budowanie aplikacji REST

    22-03-2024 jestem zadowolony Mateusz Bernaczyk, UNIQA Towarzystwo Ubezpieczeń S.A.
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    22-03-2024 JSystems świetna robota. Merytoryczni prowadzący co ważne z żyłką pedagogiczną :) Tak trzymać. Emil Dmowski, UNIQA Towarzystwo Ubezpieczeń S.A.
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    22-03-2024 Tak powinny być prowadzone wszystkie szkolenia Marek Kuźniar, UNIQA Towarzystwo Ubezpieczeń S.A.
  • 4.81/5

    Spring Boot - budowanie aplikacji REST

    15-03-2024 Gorąco polecam szkolenie - jeżeli zaczynasz kurs z minimalną widzą o Spring i REST to po zakończeniu szkolenia nie będziesz jeszcze mistrzem ale... dostaniesz solidny zastrzyk wiedzy i praktyki który pomoże zbudować Ci fundamenty Spring / REST. Aleksander Smyk, UNIQA Towarzystwo Ubezpieczeń S.A.
  • 4.81/5

    Spring Boot - budowanie aplikacji REST

    15-03-2024 Dobre szkolenie. Grzegorz Babicki, UNIQA Towarzystwo Ubezpieczeń SA
  • 5.0/5

    Spring Framework - szkolenie kompleksowe

    22-12-2023 Po raz kolejny odbyłem szkolenie prowadzone przez Marcina. Serdecznie chciałbym podziękować za rozszerzenie/uzupełnienie wiedzy na temat Springa :) Grzegorz Ciosek, Asseco Poland S.A.
  • 4.81/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    15-12-2023 Fajnie i ciekawie Leila Miniailo, GP Strategies Poland Sp. z o.o.
  • 5.0/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    01-12-2023 Prowadzący szkolenie, Marcin Chrost, podczas szkolenia odpowiada również na dodatkowe pytania wykraczające poza zakres materiału szkoleniowego. Oczywiście pytania krótkie, a odpowiedzi zwięzłe i konkretne, żeby nie zakłócić głównego przebiegu szkolenia. Całość szkolenia zwięzła i konkretna, z duża ilością przykładów i dużą ilością przekazaniej wiedzy. Paweł Zamorski, SoftSystem Sp. z o.o.
  • 5.0/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    01-12-2023 Zdecydowanie polecam udzial w szkoleniu: "Clean Code i dobre praktyki programowania obiektowego w Javie". Rafał Kopiec, SoftSystem Sp. z o.o.
  • 4.9/5

    Clean Code i dobre praktyki programowania obiektowego w Javie

    01-12-2023 Szkolenie poprowadzone z werwą i ciekawie Zofia Kochańska, SoftSystem Sp. z o.o.
  • 5.0/5

    Zaawansowana Java

    24-11-2023 Wyśmienite szkolenie, ogromna wiedza prowadzącego oraz materiał przekazywany podczas szkoleniu. Szkolenie odbywało się na zasadach przykład z teorią, ćwiczenia, a następnie rozwiązywanie tych ćwiczeń wspólnie. Dzięki takiemu stylowi, podczas ćwiczeń można się dużo dowiedzieć :) Polecam prowadzącego oraz szkolenie. Konrad Aleksander Wesołowski, Axians IT Solutions Poland Sp. z o.o.
  • 4.83/5

    Programowanie w języku Java

    27-10-2023 Super szkolenie! Forma warsztatowa na plus - dzięki niej wyniosłam bardzo wiele praktycznej wiedzy. Super trener otwarty na pomoc i poszerzenie przykładowych zadań. :) Monika Kondracka, Redge Technologies Sp. z o.o.
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    20-10-2023 Polecam trenera. Stanisław Feder, Powszechny Zakład Ubezpieczeń na Życie SA
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    20-10-2023 Polecam to szkolenie - spora dawka wiedzy o Spring Boot, bardzo dobry Trener, świetnie przygotowane materiały oraz zaplecze techniczne. Jan Kowaczek, Powszechny Zakład Ubezpieczeń na Życie SA
  • 5.0/5

    Spring Boot - budowanie aplikacji REST

    20-10-2023 Dziekuje bardzo! Beata Kaźmierczak, Centralny Ośrodek Informatyki
  • 5.0/5

    Spring Cloud

    07-07-2023 ok Kamil Słojkowski, Powszechna Kasa Oszczędności Bank Polski SA

Trenerzy kategorii Java

Marcin Dzierżak
Dariusz Mydlarz
Michał Gellert
Łukasz Tomczyk
Maciej Górnicki
Marcin Chrost
Michał Podbielski
Zapisz się

Masz jakieś pytania? Skontaktuj się z nami!

Odpowiadamy na telefony i maile w godzinach 9:00-17:00 od poniedziałku do piątku.

Telefon 22 299 53 69
Napisz do nas

Potrzebujesz więcej informacji?

Wiadomość wysłana

Przyjęliśmy Twoją wiadomość i skontaktujemy się z Tobą w tej sprawie

Klikając OK wrócisz do formularza

Nasza strona korzysta z plików cookie. Możesz zmienić zasady ich używania lub zablokować pliki cookie w ustawieniach przeglądarki. Więcej informacji można znaleźć w Polityce prywatności. Kontynuując korzystanie ze strony, wyrażasz zgodę na używanie plików cookie.