Wzorce projektowe oraz efektywne techniki Object Oriented dla developerów aplikacji biznesowych

Kod: craft-patterns-Patterns Biz
Kategoria: Wzorce projektowe
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 3
Grupa docelowa:

Szkolenie prezentuje wybrane Wzorce Projektowe w praktycznym i niepodręcznikowym ujęciu osadzonym w kontekście aplikacji biznesowych.

Wszystkie wzorce są ilustrowane przykładami zastosowania w modelowaniu logiki aplikacji i logiki biznesowej aplikacji enterprise.

W odróżnieniu od książkowych przykładów nie omawiamy programowania maszyn lub edytorów tekstu a jedynie wzorce oraz techniki, które mają zastosowanie w modelowaniu aplikacji biznesowych.

Podczas szkolenia uczestnicy nabędą zintegrowaną wiedzę na temat zdobyczy nowoczesnej inżynierii oprogramowania, m.in. bazowe koncepcje, z których wynika zarówno konstrukcja jak i potrzeba wzorców.

Podczas warsztatów praktycznych łączymy wzorce projektowe i architektoniczne wraz z wbudowanymi mechanizmami frameworków Spring/Seam (do wyboru) aby stworzyć giętkie i otwarte na rozbudowę modele biznesowe cechujące się wysokim poziomem testowalności.

Szkolenie przeznaczone dla programistów, projektantów i architektów tworzących oprogramowanie klasy biznesowej, pragnących poszerzyć swe kompetencje w zakresie profesjonalnych technik programistycznych zwiększających jakość kodu i projektu.

Zdobyta wiedza przekłada się w praktyczny sposób na produktywność mierzoną w szerszej perspektywie czasu.

Program jest ogólną ramą merytoryczną. Jego realizacja wykracza poza 3 dni. W trakcie analizy przedszkoleniowej wybieramy wzorce, które będą przydatne dla zespołu i skupiamy się tylko na nich w trakcie szkolenie. W ciągu 3 dni zwykle jesteśmy w stanie zaadresować ok 70% wymienionych wzorców.

Wyróżniki szkolenia

Podczas zajęć możesz oczekiwać szczególnych akcentów położonych na poniższe aspekty:

  • Skupienie na kontekście aplikacji biznesowych
  • Wybór jedynie użytecznych wzorców oraz technik
  • Realne przykłady
  • Clen Code i testability

Program Szkolenia

Pobierz program w formacie PDF
  1. Techniki Object Oriented Design.
    1. Analiza Paradygmatu Object oriented i jego poprawna interpretacja.
    2. Ukierunkowanie myślenia w stylu OO.
    3. Najlepsze praktyki i pułapki.
      1. Wady naiwnego modelowania rzeczowniki-czasowniki
      2. Modelowanie hermetycznych agregatów - model behawioralny
      3. Modelowanie niezmienników.
      4. Modelowanie czasu jako jednego z głównych czynników złożoności esencjonalnej
    4. GRASP - General Responsibility Assignment Software Patterns.
    5. SOLID - Single Responsibility Principle (SRP), the Open/Closed Principle (OCP), the Liskov Substitution Principle (LSP), the Dependency Inversion Principle (DIP), and the Interface Segregation Principle (ISP).
  2. Antywzorce i typowe pułapki
    1. Code smell – wykrywanie ok 20 zapachów kodu
    2. Przegląd typowych błędów i pułapek
    3. Techniki refaktoryzacji
  3. Wzorce projektowe - praktyczne, nieksiążkowe przykłady oparte o rzeczywiste problemy w kontekście aplikacji Enterprise.
    1. Strategy – hermetyzacja logiki biznesowej.
      1. Wybór odmiany algorytmu bez ingerencji w core biznesowy.
      2. Integracja z mechanizmami wstrzykiwania zależności.
      3. Definiowane konkretnej strategii biznesowej w kontenerze Incersion of Control (XML lub metody fabrykujące).
    2. Decorator – reużywalnośc logiki.
      1. Składanie złożonej logiki biznesowej o przyrostowym charakterze.
      2. Wrapper – odmiana wzorca użyteczna w modelowaniu zorientowanym na znaczenie.
          Opakowanie typów podstawowych wygodnymi obiektami. Alternatywa dla Utils. Archetyp Money.
      3. Połączenie Dekoratora ze Strategią w celu zbudowania odmian algorytmów przyrostowych.
    3. Chain of Responsibity – dwie odmiany wzorca.
      1. Dobór logiki biznesowej do aktualnych warunków.
      2. Połączenie Łańcucha ze Strategią w celu zbudowania odmian algorytmów warunkowych.
    4. Abstract Factory – tworzenie artefaktów domenowych.
      1. Spójny sposób na tworzenie rodzin obiektów biznesowych zależnych od konfiguracji wdrożeniowej systemu.
      2. Produkowanie Strategii.
    5. Builder – redukcja złożoności tworzenia struktur.
      1. Zunifikowane eksportowanie obiektów domenowych.
      2. Ukrywanie złożoności budowania zapytań.
    6. Template Method – szablony procesów.
      1. Technika uwspólniania logiki biznesowej.
      2. Szablonowe Strategie
      3. Przykłady antywzorca.
    7. Singleton – niebezpieczny wzorzec w przykładach.
      1. Szczegóły implementacji Singeltonów tworzonych z opóźnieniem, odpornych na współbieżny dostęp.
    8. State – hermetyzacja procesu biznesowego.
      1. Implementacja maszyny stanów reprezentującej złożony cykl życia obiektu biznesowego.
      2. Maszyna Stanów jako Wrapper dodający nowe funkcjonalności.
      3. Pułapki zbytniego uogólniania Maszyn Stanów
    9. Specification – hermetyzacja reguł biznesowych.
      1. Redukcja złożoności systemów zawierających złożoną logikę decyzyjną.
      2. Przypadek gdy istnieje wiele możliwych kryteriów logicznych.
      3. Jednak w danym kontekście (wdrożenie, klient) używanym tylko podzbioru reguł.
    10. Zdarzenia
      1. Observer
    11. Event Broker
    12. Event Bus
    13. Wysokowydajne systemy Event Driven i asynchroniczne przetwarzanie.
    14. Saga - orkiestracja wielu zdarzeń w czasie
    15. Role Object
      1. Modelowanie ról w systemie.
      2. Alternatywa dla dziedziczenia.
      3. Odmiana wzorca Bridge.
    16. Extension Object
      1. Uogólnienie Role Object dla systemów otwartych na rozbudowę.
    17. Facade – redukcja złożonej struktury pod wygodnym API.
    18. Command – hermetyzacja usług, autoryzacja dostępu.
      1. Command-CommandHandler - wariant wzorca w architekturze klient-serwer
  4. Testability – wpływ użycia dobrych praktyk OOD i Wzorców na testowalność kodu.
    1. Zagadnienia podatności architektury na testy: problemy i pułapki.
    2. Techniki testowania jednostkowego: dummy, fake, stub, mock.
    3. Narzędzia testowania jednostkowego i integracyjnego.
      1. JUnit.
      2. Mockito.

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zapytaj o szkolenie

Imię i nazwisko:
Firma:
E-mail/Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń