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.
Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.
Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.
Artykuł poświęcony technikom odwracania kontroli w ujęciu: problem, idea, motywacja, zastosowanie, technika, kiedy nie stosować.
Artykuł przedstawiający metodę doboru zaślepek (Mock/Stub) dla testów jednostkowych na podstawie paradygmatu CQS.
W jaki sposób dokumentować architekturę systemu? Z jednej strony tak, aby zawrzeć wszystkie potrzebne informacje, z drugiej zaś, aby nie przeładować dokumentacji szczegółami, które czynią ją bezużyteczną.
Artykuł przedstawia meta-model, którym możemy posiłkować się w zmaganiach ze złożoną logiką biznesową. Meta-model będzie praktyczną realizacją drugiej zasady SOLID: Open/closed principle, która pozwala tworzyć rozwiązania otwarte na rozbudowę (rozbudowa to nie to samo co zmiana).
Stosując mapery relacyjno-obiektowe, zwykle nie zastanawiamy się nad problemami związanymi z niespójnością danych wynikającą ze stosowania Lazy Loadingu, granicą spójności obiektów podczas zapisu kaskadowego oraz pułapkami naiwnego blokowania optymistycznego.
Artykuł przedstawia koncepcję Wzorców analitycznych – adresujących rozwiązania na poziomie analizy systemowej. Ilustracją na przykładów jest kilka wybranych, w tym najbardziej popularnym z nich: Party – będą one również alternatywą dla typowych naiwnych książkowych modeli struktur organizacyjnych.
Wiele czasu i energii spędzamy na dyskusjach o wyższości jednego paradygmatu programowania nad innym, o wyższości jednego języka programowania nad innym. W niniejszym artykule chcę przekonać czytelników do tego, aby obok siebie, równorzędnie stosować zarówno paradygmat obiektowy, jak i funkcyjny oraz nie zapominać o proceduralnym.
Do czego może przydać mi się propagacja transakcji inna niż REQUIRED? Jak zachowa się wówczas EnityManager i cache pierwszego poziomu? Jak uniknąć zakleszczeń? Dlaczego moje transakcje tylko-do-odczytu nie są tylko do odczytu? Kiedy oddać sterowanie transakcjami klientom zamiast obsługiwać je aspektowo? Jakie anomalie w spójności danych mi zagrażają?
Artykuł poświęcony technikom utrzymywania testów w długiej perspektywie czasu.
Techniki, które profesjonalny programista powinien mieć w swojej „skrzynce z narzędziami”, czyli m.in. Test Data Builder i Assert Object.
Prezentacja Łukasza Szydło na temat architektury wspierającej Continuous Delivery. Materiały z konferencji 4Developers 2014
Problemy i ich rozwiązania w zakresie: Lazy Loading, Optimistic Locking, generowanie ID, poziomy izolacji transakcji.
Techniki zwiększania czytelności kodu.
W 1970 roku John Conway publikował koncept prostego automatu komórkowego, Game of Life. Dziś, po 37 latach, tych kilka regułek rządzących rozwojem świata komórek jest idealnym przykładem do nauki programowania obiektowego, funkcyjnego, wzorców, testowania oprogramowania, pair programmingu… Dla nas Game of Life stanie się także punktem wyjścia do metod analizy domeny klienta, rozgryzania jej niuansów i niedopowiedzeń ze strony biznesu, czy wreszcie definiowania i ochrony logiki biznesowej tak, aby teoretycznie niewielkie zmiany wymagań nie zrujnowały całkowicie implementacji… W końcu Game of Developer Life to coś więcej niż tylko stosowanie w praktyce znanych frameworków i narzędzi.
W trakcie prezentacji zobaczysz dwa systemy realizujące te same wymagania. Przyjrzymy im się z punktu widzenia: modularyzacji, kodu warstwy aplikacyjnej i kodu warstwy bogatego modelu dziedzinowego. Architektura pierwszego będzie oparta o naiwną analizę, pospieszną modularyzację i krótkowzroczną integrację. Architektura drugiego będzie oparta o kilka rozdziałów z książek będących biblioteką rozwiązań typowych problemów biznesowych - archetypów. W trakcie prezentacji dowiesz się czym się kierować podczas wyszukiwania archetypów, które na pierwszy rzut oka nie są podobne do "specyficznych systemów" nad którymi pracujesz na co dzień. A przy okazji zobaczymy jakie są konsekwencje posługiwania się sprawdzonymi rozwiązaniami w porównaniu do rozwiązań wynikających z tak zwanej intuicji.