Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
KanonicznaarchitekturaDDD
13
Zamodeldomenyodpowiadajedenzespół.
Wśrodowisku.NETpreferowanejestudostępnianiemodeludomenyjako
pakietuNuGetpoprzezprywatny
,specyficznydlafirmylubzespołukanał.
Modeldomenypowinienmiećmożliwiemałozależnościwzględeminnych
pakietówlubprojektów.Dowolnepojawiającesięzależności(takiejakod
pomocniczychpakietówinnychfirm)powinnybyćdogłębniezbadaneiwłą-
czanetylkowtedy
,gdyjesttonaprawdękonieczne.
Modeldomenyniemażadnychodwołańdowarstwyutrwalania(którajest
częściąwarstwyinfrastruktury)ijestcałkowicieniezależnyodbazydanych.
Usługidomeny
Jakmożemywyszukiwaćdaneiładowaćjedowspomnianych
wyżejpustychibezstanowychmaszynobliczeniowych?Towłaśnierobiąusługi
domeny
.toklasyobsługującebazędanych,któreładująinformacjedoklas
jednostekdomenyiwykonująaktualizacjedanychwynikającezdziałaniatych
klas.Usługidomenymajązależnościodmodeludomenyiwarstwyinfrastruktury
(wszczególnościodwarstwyutrwalania).
Warstwainfrastruktury
Warstwainfrastrukturyjestkontenerem,wktórymmieścisięwarstwautrwala-
nia,usługizewnętrzne,takiejakemailisystemykomunikacyjne,orazłącznikido
zewnętrznychAPI.
Podstawowąusługązapewnianąprzezwarstwęinfrastrukturyjestzazwyczajdostęp
dodanych.Obejmujeonwszelkiemożliwekombinacjeoperacjiodczytuizapisu,
jakichpotrzebujebiznes.Najczęściejspotykanyscenariusztowymaganiepełnego
utrwalania(odczyt/zapis).Możliweteżinnescenariusze,takiejaktylkoodczyt,
gdziedanepobieranezistniejącychusługzewnętrznych,lubtylkozapis,gdywar-
stwainfrastrukturajestużywanajedyniedorejestrowaniazdarzeń.
Komponentyodpowiedzialnezadostępdobazydanychizolujemypoprzezużycie
repozytoriów.Cointeresujące,użycierepozytoriówniełamiezasadySoC.Warstwa
utrwalania,którajestczęściąwarstwyinfrastruktury
,jestmiejscemprzechowywania
repozytoriów.Jeśliplanujemyużyćjakiśinterfejsówdotychrepozytoriów(naprzykład
docelówtestowych),teinterfejsymożnaumieścićwbiblioteceusługdomeny
.Jednak
inne,prostszepodejściemożepolegaćnaumieszczeniuusługdomenyisamychrepo-
zytoriówwwarstwieutrwalaniaalbonawetnabudowaniubogatszychrepozytoriów,
którenieograniczająsiędometodCRUD,aleeksponująbardziejinteligentnemetody
.
Wtakimprzypadkujednakrozmywasięgranicapomiędzyusługamidomenyawar-
stwąutrwalania.
Rysunek1-3pokazujezalecanysposóbustalaniazależnościpomiędzywarstwami
wklasycznejarchitekturzeDDD.