Wzorce projektowe i refaktoryzacja do wzorców
Dla kogo
Wzorce projektowe to już niemal dwudziestoletnia klasyka. Niemniej jednak cały czas niewielu programistów potrafi je zastosować w praktyce. Jednym z powodów jest to, że używanie wzorców projektowych jest naszpikowane wieloma niuansami. To szkolenie jest nietypowe. Zaczynamy od kodu, który już istnieje i stosując kluczowe zasady programowania obiektowego, odkrywamy wzorce. Dzięki czemu nie musisz się ich uczyć na pamięć. Jednocześnie szkolenie daje możliwość uporządkowania wiedzy o wzorcach i ich pełne zrozumienie. Intensywny program nastawiony przede wszystkim na praktykę sprawia, że szkolenie z wzorców projektowych i refaktoryzacji pozwala szybko pozyskać wymagane umiejętności.
Gwarantujemy Ci, że takiego szkolenia nie znajdziesz nigdzie indziej. Jest to propozycja zarówno dla początkujących, jak i doświadczonych. Uporządkowana struktura, konkretne informacje i starannie opracowane ćwiczenia sprawią, że po tym szkoleniu refaktoryzacja do wzorców przestanie być jakąkolwiek przeszkodą.
Wymagane umiejętności
- Uczestnik zna konkretny język programowania na poziomie podstawowym.
- Uczestnik zna zagadnienia programowania obiektowego na poziomie podstawowym.
Szkolenia otwarte oraz zamknięte prowadzone są głównie w języku Java i C#. Po wcześniejszych ustaleniach szkolenie może być zrealizowane w innych językach.
Podstawowy program
Moduł. 1
Wprowadzenie do wzorców projektowych
Moduł. 2
Jakość kodu źródłowego
Szczegółowy program
Moduł. 1
Wprowadzenie do wzorców projektowych
- Pojęcie wzorca projektowego
- Historia rozwoju wzorców projektowych
- Klasyfikacja wzorców projektowych
Moduł. 2
Jakość kodu źródłowego
- Wyznaczniki jakości kodu źródłowego
- Code smells
- Antywzorce programowania obiektowego
- SOLID
- (S) Pojedyncza odpowiedzialność
- (O) Kod otwarty na rozszerzanie, kod zamknięty na zmiany
- (L) Zasada Liskov
- (I) Dzielenie interfejsów
- (D) Odwracanie zależności
- Praktyki poprawiające jakość kodu źródłowego
- Silne zależności w kodzie źródłowym
- Techniki osłabiania zależności
- Programowanie poprzez interfejsy
- Definiowanie interfejsów
- Dzielenie interfejsów
- Rozszerzanie interfejsów
- Wersjonowanie interfejsów
- Interfejs retrospekcyjny
- Kompozycja a dziedziczenie
- Wstrzykiwanie zależności
Moduł. 3
Refaktoryzacja
- Dług techniczny
- Naturalny porządek refaktoryzacji ™
- Zrozum
- Skomponuj metodę
- Wyodrębnij odpowiedzialności
- Wprowadź wzorzec projektowy
- Zmodyfikuj architekturę
- Komponowanie metod
- Przenoszenie kodu
- Upraszczanie wyrażeń warunkowych
- Jak testy mogą wspierać pisanie kodu?
- Jak uniezależniać się od zewnętrznego kodu
- Jak zapanować nad czasem i losowością w kodzie
Moduł. 4
Wzorce GoF
- Wzorce kreacyjne: Simple Factory, Factory Method, Builder, Abstract Factory, Prototype
- Wzorce behawioralne: Command, Strategy, Observer, Chain of Responsibility, Template Method, Iterator, Mediator, Visitor, State, Memento
- Wzorce strukturalne: Adapter, Decorator, Facade, Proxy, Bridge, Composite, Flyweight
- Współpraca pomiędzy wzorcami
- Strategie implementacji wzorców
- Różnice pomiędzy podobnymi wzorcami