Wzorce Projektowe – Warsztaty
Warsztaty Wzorce Projektowe pozwalają uczestnikom nauczyć się stosowania wzorców projektowych w technologii Java, .NET lub Python.
Jak wziąć udział w tym szkoleniu?
Opis szkolenia
Warsztaty Wzorców Projektowych to dwa dni wykładów i praktycznych ćwiczeń prowadzonych przez doświadczonego trenera, pod którego okiem uczestnicy nauczą się jak stosować wzorce projektowe w swojej codziennej pracy. Warsztaty realizowane są w kontekście technologii Java, C#/.NET lub Python.
Dla kogo jest to szkolenie?
Szkolenie realizowane jest z myślą o programistach i wszystkich członkach zespołów rozwijających oprogramowanie, którzy posiadają podstawową wiedzę pozwalającą im programować w wybranej technologii.
Czym są wzorce projektowe?
Inżynieria oprogramowania rozwinęła się w olbrzymim stopniu od czasów pierwszych projektów IT z ubiegłego wieku. Na przestrzeni lat popełniono wiele błędów projektowych, równie wiele decyzji odnośnie sposobu implementacji rozwijanych systemów informatycznych okazało się nietrafionych. Nieustannie pojawiają się coraz doskonalsze narzędzia i technologie wspierające pracę developerów, pęcznieją bazy wiedzy podpowiadające jak tworzyć kod w sposób optymalny. A mimo to developerzy bardzo często powtarzają te same błędy, tworząc kod trudny do rozwoju i utrzymania.
Tworzenie oprogramowania to zadanie trudne samo w sobie, a rozwój produktu wartościowego biznesowo, łatwego w adaptacji i składającego się z elementów zdatnych do ponownego użycia, jest niewątpliwie wyzwaniem. Aby nie borykać się z problemami, które kiedyś już zostały skutecznie rozwiązane, trzeba poprawnie stosować dobrze znane i przetestowane rozwiązania – takie jak wzorce projektowe – i korzystać z nauki płynącej z błędów popełnionych przez innych.
Wzorce projektowe to sprawdzone w praktyce sposoby rozwiązania typowych i powtarzalnych problemów projektowych. Stanowią bezcenny bagaż doświadczeń i zarazem wygodną skrzynkę narzędziową, której elementy każdy inżynier oprogramowania powinien dobrze znać. Wzorce mogą być stosowane na wszystkich etapach tworzenia oprogramowania w celu poprawy jakości kodu źródłowego, przyspieszają również sam proces jego tworzenia.
Projektowanie i tworzenie kodu nie jest jedyną rzeczą, która się liczy we wzorcach projektowych. Równie istotne w ich zastosowaniu jest to, że wprowadzają one jednolite i powszechnie stosowane słownictwo, które znacząco poprawia komunikację z tymi, którzy już opanowali wzorce projektowe.
Jak uczymy korzystania z wzorców projektowych?
Warsztaty trwają dwa dni (8 godzin każdego dnia) i obejmują:
- wszystkie wzorce projektowe opisane w słynnej książce „Design Patterns: Elements of Reusable Object-Oriented Software” autorstwa Ericha Gamma, Richarda Helma, Ralpha Johnsona oraz Johna Vlissidesa (czyli tak zwanego „Gangu Czterech”),
- zasady Object-Oriented Design,
- dobre praktyki projektowe,
- narzędzia ułatwiające pracę developerów.
Uczestnicy w toku szkolenia zdobędą praktyczną umiejętność korzystania z wzorców projektowych, zademonstrowaną i wypróbowaną na przykładach przygotowanych przez trenera i rzeczywistych przypadkach z życia wziętych.
Warsztaty Wzorców Projektowych realizowane są w technologiach Java, C#/.NET lub Python.
Program szkolenia
Ramowy program warsztatów
- Wprowadzenie:
- Wartości dobrego oprogramowania
- Pojęcie jakości i jej rodzaje w oprogramowaniu
- Proces wytwórczy w branży oprogramowania
- Projektowanie obiektowe
- Zasady projektowania obiektowego (Object-Oriented Pattern)
- Zasady S.O.L.I.D
- Zapachy kodu (code smells)
- Wzorce projektowe (design patterns):
- Idea wzorców
- Rodzaje wzorców i ich klasyfikacja
- Wzorce Strukturalne (Structural Patterns):
- Klasowe:
- Adapter
- Obiektowe:
- Adapter
- Dekorator (Decorator)
- Fasada (Façade)
- Pełnomocnik (Proxy)
- Klasowe:
- Wzorce Kreacyjne (Creational Patterns):
- Klasowe:
- Metoda wytwórcza (Factory Method)
- Obiektowe:
- Fabryka Abstrakcyjna (Abstract Factory)
- Budowniczy (Builder)
- Prototyp (Prototype)
- Singleton
- Klasowe:
- Wzorce Behawioralne (Behavioral Patterns):
- Klasowe:
- Metoda szablonowa (Template Method)
- Obiektowe:
- Łańcuch zobowiązań (Chain of Responsibility)
- Polecenie (Command)
- Iterator
- Obserwator (Observer)
- Strategia (Strategy)
- Odwiedzający (Visitor)
- Klasowe:
- Warsztat analizy aplikacji z wykorzystaniem poznanych wzorców projektowych
Dodatkowe zagadnienia dla technologii Python
Program szkolenia realizowanego w technologii Python obejmuje ponadto następujące zagadnienia:
- Idiomy języka programowania
- Pojęcie idiomu językowego
- Wzorce i idiomy specyficzne dla języka Python
- Wzorzec EFAP (It’s easier to ask for forgiveness than permission)
- Wzorzec Metaklasy
- Wielodziedziczenie
- Borg
- Klasa domieszkowa w języku Python (Mixin)
- Przegląd narzędzi do statycznej i dynamicznej analizy kodu oraz pisania testów jednostkowych:
- PyLink
- Coverage
- PyTest
- Przegląd współczesnych podejść do tworzenia architektury aplikacji lub klastra aplikacji:
- Microservices
- Client-Side MVC
- Server-Side MVC
- Distributed Systems (Celery, Etcd or Consul)
Program warsztatów w technologii C#/.NET
- Wzorce Kreacyjne:
- Fabryka abstrakcyjna (Abstract Factory)
- Budowniczy (Builder)
- Metoda Fabryczna/wytwórcza (Factory Method)
- Prototyp (Prototype)
- Wzorce strukturalne:
- Adapter
- Most (Bridge)
- Kompozyt (Composite)
- Dekorator (Decorator)
- Fasada (Façade)
- Proxy
- Wzorce Czynnościowe/Operacyjne:
- Łańcuch odpowiedzialności (Chain of Resp.)
- Polecenie (Command)
- Inne wzorce:
- Odwrócenie zależności (Inversion of Control)
- Model View Controller (MVC)
- Repozytorium (Repository)
- Wstrzykiwanie zależności (Dependency Injection)
Trener
Przygotowanie do szkolenia
Aby uczestnicy warsztatu mogli efektywnie uczestniczyć w realizacji ćwiczeń i pracy z kodem, niezbędna jest znajomość podstaw programowania w języku Java, .NET lub Python (w zależności od technologii, w której realizowane jest szkolenie).
Warunki zakupu
Szkolenie organizowane jest wyłącznie w formie zamkniętej na zamówienie. Warsztaty Wzorców Projektowych są „szyte na miarę”, możemy dostosować ich zakres do indywidualnych potrzeb uczestników.
Cena szkolenia jest uzgadniana indywidualnie w zależności od wielkości grupy, lokalizacji szkolenia oraz zakresu współpracy.
Cena warsztatu zawiera:
- 2 dni intensywnej pracy z wzorcami projektowymi,
- materiały szkoleniowe.
W celu ustalenia cen i terminu szkolenia zapraszamy do kontaktu poprzez:
- formularz zamówienia szkolenia zamkniętego (przycisk poniżej),
- e-mail: szkolenia@codesprinters.com,
- telefon: +48 (12) 379 34 14
Zapytanie o prywatne szkolenie
Możemy zrealizować to szkolenie w twojej organizacji w formie zamkniętej (niepublicznej). Użyj przycisku poniżej aby przekazać nam informacje niezbędne do przygotowania oferty.
Zwracamy uwagę, że szkolenie to jest dostępne wyłącznie na zamówienie i nie organizujemy go w formie publicznej z otwartą rejestracją dla uczestników.
Sprawdź inne szkolenia
Rozwiązywanie Konfliktów w Scrum
Umiejętność prowadzenia trudnych rozmów i rozwiązywania konfliktów jest niezbędna w codziennej pracy Scrum Mastera. Jest przydatna również Product Ownerom, członkom zespołów developerskich i kierownikom, bo często są oni stroną sporu lub pomagają w jego rozwiązaniu jako mediatorzy. Czytaj dalej