Refaktoryzacja do wzorców

Wzorce znajdziemy wszędzie wokół nas. Symbolizują coś powszechnego i użytecznego. Coś co się sprawdziło jako znane podejście do rozwiązania pewnej grupy problemów poprzez swoją efektywność oraz reużywalność.
W 2015 roku Ralph Johnson (jeden z czterech autorów pierwszej książki o wzorcach projektowych) podczas swojego wystąpienia “21 lat wzorców projektowych” powiedział: “Mogliśmy wykonać naszą pracę lepiej, ale myślę, że wykonaliśmy ją całkiem dobrze”.
Zwykle jednak wzorce nie są widoczne jako potrzebne w naszym kodzie od samego początku. Zapewne to dobrze, bo same wzorce także wprowadzają dodatkowy poziom złożoności. Ale kiedy naszego kodu jest coraz więcej i coraz trudniej go zrozumieć, to zaczynamy myśleć w kategoriach “gdyby tylko w tym miejscu został użyty wzorzec strategii, fabryki, stanu zamiast sieci if-else lub switch…”.

Podczas tego szkolenia uczestnicy zapoznają się z przykładowymi refaktoryzacjami do kilku znanych wzorców projektowych. Niemniej jednak, aby było to do wykonania w rozsądnym czasie, to przykłady w tym szkoleniu są już częściowo przygotowane na tę refaktoryzację.
Refaktoryzacje przedstawione na szkoleniu prowadzą do następujących wzorców:
– (Fluent) Builder
– Composite
– Factory Method / Abstract Factory
– Template
– Bridge
– Interpreter
– State (jeżeli czas pozwala)

Szkolenie to jest zaplanowane jako kontynuacja “Efektywnej Refaktoryzacji”. Wynika to z założenia, że wstępne oczyszczenie kodu (brakujące testy, mniejsze metody i klasy) już zostało (częściowo) dokonane. Jest to konieczne, gdyż w przeciwnym wypadku nie będziemy w stanie zauważać wyłaniających się wzorców projektowych z gąszczu kodu legacy. Uczestnicy szkolenia będą mogli doświadczyć jak wzorce projektowe mogą uprościć nasz kod, ale i także jak mogą go skomplikować jeszcze bardziej poprzez nieumiejętne ich użycie.

To, że zastosowanie danego wzorca projektowego rozwiązuje obecne problemy, nie znaczy że rozwiąże także kolejne. Często może się stać, że w przypadku nowych wymagań obecna architektura stanie się utrudnieniem – szczególnie przy podejściu do architektury metodą kopiuj-wklej bez dalszych refaktoryzacji. To, że wzorce projektowe wnoszą do projektów bardzo dużą wartość poprzez zmniejszenie złożoności (a może raczej zapanowanie nad nią) nie znaczy, że powinny być one stosowane od samego początku. Wynika to stąd, że użycie wzorców upraszcza nasz kod dopiero od pewnego stopnia skomplikowania. Kiedy wzorce zostaną zastosowane zbyt wcześnie, to same spowodują dodatkowe problemy. Stąd temat refaktoryzacji do wzorców projektowych jest bardzo ważny, aby umieć je zastosować  w odpowiednim momencie, kiedy jest to potrzebne.
Szkolenie jest bardzo intensywne i na podstawie doświadczeń (tj. przeprowadzenia go wiele razy) proponowane podejście do 2 dni po 4 godziny. Takie podejście pozwala także programistom na wrócenie do ich codziennych zajęć na pozostałą część dnia. Na życzenie
szkolenie może także zająć 1 dzień (bardzo intensywny).

Poziom: początkujący lub średnio zaawansowany, aczkolwiek starsi programiści także wielokrotnie twierdzili że dowiedzieli się wielu nowych rzeczy, którymi mogli się następnie podzielić z zespołem.

Zapytaj o szkolenie