Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
KanonicznaarchitekturaDDD
15
aoperacjipoleceńwinnej.Każdawarstwamaterazswójwłasnymodeliwłasnyzbiór
usługdedykowanychodpowiedniotylkodozapytańipoleceń.Rysunek1-4pokazuje
porównanieprostejwarstwowejarchitektury(polewej)zjejwersjąopartąnaCQRS
(poprawej).
Klasycznewarstwy
CQRS
INFRASTRUKTURY
PREZENTACJI
APLIKACJI
Warstwa
Warstwa
Warstwa
DOMENOWA
Warstwa
domenowa
POLECEŃ
Warstwa
INFRASTRUKTURY
PREZENTACJI
APLIKACJI
Warstwa
Warstwa
Warstwa
domenowa
ZAPYTAŃ
Warstwa
RYSUNEK1-4
WizualneporównaniewarstwklasycznychiCQRS
WodróżnieniuodDDD,CQRSniejestwyczerpującympodejściemdoprojektowa-
niasystemówklasyprzedsiębiorstwa.Jakwspomniałem,jesttotylkowskazówka.
ZalecanymkrokiemwstępnymnadaljestanalizaDDDopartanajęzykuużywanym
wbiznesiewceluzidentyfikowaniagranickontekstów(więcejinformacjinatentemat
zawierarozdział2).CQRSjestpoprostuuprawnionąalternatywądlaimplementacji
konkretnegomodułucałejaplikacji.
Każdaoperacjawzględemsystemuprogramowegojestalbozapytaniem,które
odczytujepewienstansystemu,albopoleceniemzmieniającymistniejącystan.Na
przykładpoleceniemjestdziałaniewykonywaneprzezback-end,takiejakzareje-
strowanienowegoużytkownika,przetworzeniezawartościkoszykazakupowegolub
uaktualnienieprofiluklienta.ZpunktuwidzeniaCQRSzadaniejestjednokierunko-
weigenerujeprzepływpracyodwarstwyprezentacjidowarstwydomenowej,który
zapewnekończysięmodyfikacjąjakiegośzapisuwpamięcimasowej.
Model,któryzajmujesiętylkozapytaniami,będzieznaczniełatwiejszydozbudo-
wania,niżmodel,którymawykonywaćzarównozapytania,jakiaktualizacjedanych.
Modelczytającymastrukturęklasbardziejzbliżonądoobiektówtransferudanych
(datatransferobjectsDTO),zaśwłaściwościzwykleznacznieliczniejszeodmetod.