DDD dziedziczenie Aggregation Root

0

Cześć,

Czy poprawnym w sensie DDD jest dziedziczenie klas będących agregatami ? Chodzi mi o sytuację w stylu:

class Item : DomainEntity { .... }

class IndustryItem1 : Item {...}

class IndistryItem2 : Item {...}

Item nie jest bytem abstrakcyjnym abstrakcyjny - reprezentuje konkretny przedmiot więc może istnieć samodzielnie. IndustryItem1 i IndustryItem2 to wersje Item z propertkami dobranymi pod konkretne zatosowania. Głowne operacje w systemie wykonywane są na Item (są niejako abstrakcyjne) ale są też operacje które wymagają specyfikacji i konkretnych dodatkowych właściwości.
Czy takie zamodelowanie ma sens ?

0

IMHO to tak. Jednak jeżeli to mają byc osobne i równoważne agregaty, to każdy ma swoje repo i możliwie jest jak najbardziej niezależny od innych.

0

A co to DDD nie może istnieć bez Repo? Jestem pewien na 80%, że mówisz o czymś, co jest wartością, a nie agregatem i wynika to z błędnych założeń co do modelu.

Przy dużej złożoności można użyć czegoś, co się nazywa "Abstract Core" ale raczej nie w twoim przypadku.

1

są też operacje które wymagają specyfikacji i konkretnych dodatkowych właściwości

Może ty potrzebujesz polityki?

3
class Item : DomainEntity { .... }

class IndustryItem1 : Item {...}

class IndistryItem2 : Item {...}

Konkrety się liczą. Czym jest IndustryItem1? Cały myk z DDD polega na tym, że kod ma odzwierciedlać wiedzę biznesową, a mówienie o czymś IndustryItem1 zaciemnia obraz i sytuacji i jest anty-DDD, bo łamie zasadę wspólnego języka ("ubiquitous language, " - wszechobecny język).

Bo to zakłóca komunikacje, jak się używa innej nazwy na byty, które naprawdę się nazywają inaczej (tutaj IndustryItem1 a naprawdę możesz mieć np. Product, Car czy Screw albo cokolwiek innego tam masz). A jednak to ma znaczenie, co modelujesz.

IndustryItem1 i IndustryItem2 to wersje Item z propertkami dobranymi pod konkretne zatosowania.

Tu się rodzi inne pytanie, niezwiązane może z DDD, a po prostu z programowaniem - czy fakt, że coś potrzebuje paru nowych właściwości to wystarczający powód do dziedziczenia?

1 użytkowników online, w tym zalogowanych: 0, gości: 1