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