Refaktoring legacy do Domain Driven Design

Kod: DDD-refaktoring
Kategoria: Domain Driven Design
Forma: 40% wykłady / 60% warsztaty
Czas trwania: 3
Grupa docelowa: analitycy
developerzy
architekci

Podczas szkolenia uczestnicy poznają techniki umożliwiające refaktoryzację istniejących systemów w celu zmniejszenia nakładu pracy związanego z ich utrzymaniem.

Równoległym celem refaktoryzacji jest wsteczna inżynieria modelu, który nie był utrzymywany i został rozmyty.

Dodatkowym celem będzie poznawanie zachowania i struktury w celu naprawiania błędów i wprowadzania nowych funkcjonalności oraz refaktoryzacja designu.

Podczas warsztatów praktycznych uczestnicy będą refaktoryzowac istniejący kod i pisać testy regresyjne. Uczestnicy zrefaktoryzują istniejący system pod kątem wprowadzenia nowych funkcjonalności.

Szkolenia powinno zostać poprzedzone szkoleniami z zakresu: Technik modelowanie DDD oraz Technik implementacji DDD.

Wyróżniki szkolenia

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

  • Wzrost morale przez odzyskanie w to, że jest jeszcze szansa...

Program Szkolenia

Pobierz program w formacie PDF
  1. Czytanie kodu
    1. Zbieranie i interpretowanie metryk
    2. Wykrywanie punktów krytycznych systemu
    3. Przegląd kodu i identyfikowanie "zapachów"
  2. Podstawy refaktoryzacji
    1. Podstawowe techniki rafaktoryzacji
    2. Wsparcie ze strony IDE
    3. Identyfikowanie szwów i rozdzielanie zależności
    4. Zaawansowane refaktoringi w wielu krokach
    5. Tworzenie planu refaktoringu
    6. Refakatoryzacja designu
    7. Refaktoryzacja do wzorca
  3. Wykorzystanie technik modelowania w procesie refaktoringu
    1. Zmiana podejścia w celu redukcji ilości reguł jakie należy brać pod uwagę
      1. podejście "od domeny" zamiast podejścia "od procesu"
    2. Techniki lingwistyczne
      1. Wyłanianie Domain Story
      2. Techniki pełnych zdań zamiast zbierania rzeczowników
      3. Eksploracja domeny przy pomocy zdań podmiot.orzeczenie(dopełnienie, przydawka)
      4. Gibberish Game - usuwanie dwuznaczności i odkrywanie nowych koncepcji domenowych
      5. Słowo-Znaczenie(Kontekst)-Reguły
          Odwrócenie kolejności w celu odkrywania ukrytych koncepcji domenowych
    3. Techniki wizualizacji
      1. Grupowanie operacji wokół niezmienników
      2. Metafory wizualne realnych Agregatów
      3. Poziomy modelu
      4. Separacja modelu pod kątem podatności na zmiany i niestabilności
  4. Rozwarstwienie logiki jako główna strategia refaktoryzacji
    1. Wyłanianie Use Case/User Story w warstwie aplikacji
      1. Projektowanie API systemu
      2. Hermetyzacja tego CO system powinien robić w serwisy aplikacyjne
    2. Wyłanianie modelu biznesowego z building blocks warstwy domenowej
      1. Hermetyzacja tego JAK i DLACZEGO system się tak zachowuje w Building Blocks DDD
      2. Początek pracy - wyłanianie Value Objects
          Praca nad słownictwem domenowymZarządzanie wartością jest łatwiejsze niż encją
      3. Wyłanianie Agregatów
          Grupowanie atrybutów ze względu na spójną zmianę w Use CaseGrupowanie atrybutów ze względu na ochronę niezmienników
      4. Serwisy Domenowe - wyłanianie pod-procedur biznesowych
      5. Polityki - hermetyzacja zmienności poza stabilnym interfejsem
      6. Fabryki - hermetyzacja kreacji obiektów w jednym miejscu
      7. Cztery poziomy modelu ze względu na podatność na zmiany
          CapabilityOperationsPolicyDecision Support
      8. Szukanie stabilności
          Open-close Principle w praktyceModel stabilny - Agregaty i Serwisy DomenoweDomknięcia modelu - politykiPodejście funkcyjneWybór domknięć - fabrykiHermetyzacja złożoności w jednym miejscu
  5. Testowanie regresyjne
    1. Sposoby testowania systemu
    2. Rodzaje testów i przykłady ich wykorzystania
    3. Automatyzacja procesu testowania
    4. Wybór strategii testowania w projekcie
    5. Pisanie testów automatycznych w projekcie, który ich nie posiada

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ń