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
.Są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żliwesąteżinnescenariusze,takiejaktylkoodczyt,
gdziedanesąpobieranezistnieją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.