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 dni
Odbiorcy:
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

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

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

Program Szkolenia

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  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.
        1. Opakowanie typów podstawowych wygodnymi obiektami.
        2. Alternatywa dla Utils.
        3. 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.


Pobierz program w formacie PDF

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.

Zamów 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ń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.