Loading...
Skip to Content

Podcast Better Software Design

O modularyzacji bez użycia subdomen i heurystyk DDD z Łukaszem Szydło

Odcinek 79, 30 stycznia 2024

Domain-Driven Design jest skuteczną metodą analizy i modelowania złożonych, nierozpoznanych jeszcze problemów biznesowych. Jednak niektóre wzorce strategiczne są bardzo mgliste i mogą nie dostarczać konkretnych sposobów do działania w projekcie. Krytyka DDD w tym obszarze wydaje się mieć sporo podstaw…

Bo czym właściwie jest subdomena? W myśl definicji, subdomena jest zazwyczaj wyodrębnionym obszarem, który może być zarządzany i rozwijany niezależnie od innych, posiadając swoje specyficzne reguły biznesowe, modele i zasoby. Ale czym się subdomena różni od domeny, jak skutecznie wyznaczyć ten “wyodrębiony” obszar i właściwie czemu to ma służyć? Jeśli dodamy to tego lingwistyczne granice kontekstów, to robi się z tego trudna do strawienia mieszanka.

Dziś zapraszam na rozmowę z Łukaszem Szydło, w której dotykamy tematyki modularyzacji systemu w oparciu o inne, prostsze narzędzia. Na koniec dnia zajmujemy się wprowadzaniem zmian, więc zmodularyzujmy system tak, aby było nam je łatwo wprowadzać.

W tym odcinku usłyszysz:

  • hype na Domain-Driven Design i trudnościach w jego stosowaniu
  • intuicjach, heurystykach vs. praktyki inżynieryjne
  • analizie domeny na mniejsze części, poprzez odkrywanie niezależnie zmieniających się w niej rzeczy
  • sumulacji zmian i wykorzystaniu atrybutów jakościowych w procesie dekompozycji
  • stabilnych granicach aplikowalności modelu, wynikających z wprowadzanych zmian
  • weryfikacji wytwarzanych w ten sposób podziałów w projekcie
  • dobrych momentach na refaktoryzację systemu

Materiały dodatkowe

Cytat odcinka

Aby mieć stabilne granice, musisz mieć dużo przypadków

Ten podcast jest dostępny na platformach


Podcast Better Software Design

Warto także posłuchać...

Michał Bartyzel

O zbieraniu i analizie wymagań z Michałem Bartyzelem

Do tej pory rozmawialiśmy głównie o tym JAK implementować pewne problemy, dziś skupimy się więc na aspektach...
Odcinek 12
Andrzej Krzywda

O programowaniu aspektowym z Andrzejem Krzywdą

Czym są cross-cutting concerns, point-cuts, join-points, advices oraz aspects? Jak wspomniane zagadnienia...
Odcinek 7
Łukasz Szydło

O różnych odmianach Ubiquitous Language z Łukaszem Szydło

W tym odcinku razem z Łukaszem Szydło rozmawiamy o różnych odmianach języka wszechobecnego, jaki może pojawić...
Odcinek 3

Potrzebujesz wsparcia w poprawie jakości projektu, architektury lub zwiększenia umiejętności w zespole?