Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
18
Rozdział1:Wposzukiwaniumodułowejarchitekturyoprogramowania
Największymproblememdotyczącymzdarzeńwarchitekturzeoprogramowaniajest
koncepcja„ostatniegoznanegodobregostanu”systemu,któraoddziesięciolecinależy
dogłównychpojęć.Terazjestonazastępowanapodejściem„cosięstało”,którytrak-
tujezdarzeniadomenowejakopodstawęarchitektury
.
Odgrywanieprzezzdarzeniatakcentralnejroliwarchitekturzeoprogramowania
stwarzapewnenowewyzwaniaimożenawetpowodowaćjakiśopórbezwładno-
ści.Otokilkapowodów,dlaktórychzdarzeniamajągłębokiwpływnaarchitekturę
oprogramowania:
Niczegonieprzeoczymy
Projektującarchitekturęopartąnazdarzeniachdajemy
sobiemocłatwegośledzenianiemalwszystkiego,codziejesięwsystemie.Nowe
zdarzeniamogąbyćdodawaneniemalwkażdejchwili,pozwalającnacorazbar-
dziejprecyzyjnekopiowanieprzestrzenibiznesowej.
Rozszerzalnośćreprezentacjibiznesowej
Używaniemodeludoutrwalaniabizne-
sowychprzypadkówużyciaograniczato,comożnaprzechowaćireprezentować
wramachtegomodelu.Używaniezamiasttegozdarzeńusuwawiększośćtych
ograniczeń;jakwspomniałem,dodawanielubmodyfikowaniescenariuszybizne-
sowychjestterazmożliweiwzględnieniedrogie.
Dobrapozycjadlaskalowalności
EventSourcingużywanywpołączeniuzCQRS
zapewniapodstawyskalowalnościkażdegosystemu,jeślinadejdzieczas,wktó-
rymskalowalnośćstaniesiękluczowa.
WujęciuabstrakcyjnymwarstwowaarchitekturaDDDpozostajeniezwyklelogicznym
sposobemorganizowaniaindywidualnychaplikacji.Jednakdzisiejszeczasystworzyły
noweozdobyilukrydlafinalnegotortu.Podobniejakwkażdymprzepisienawypieki,
właściweproporcjeCQRSiEventSourcingkwestiąsmaku.
Zpowodów,któremogęjedyniezgadywać,wpewnymmomenciearchitektura
warstwowabyłarozważananietyledziękizapewnianejprzezniąabstrakcji,alejako
konkretny
,horyzontalnyiobiektowysposóbbudowaniaaplikacji.Tymsamympoja-
wiłysięinneodmianyarchitekturaplikacjiofantazyjnychnazwach.Jednakzmojego
punktuwidzenienieoneniczyminnym,jakróżnymisposobamiubieraniawarstw
oprogramowania.
Bezwarstwowaarchitekturaoprogramowania
Ideamodularnościidziewparzezwarstwami.Choćobiekoncepcjewydająsię
niecoinaczejspolaryzowane,warstwymożnarozpoznawaćwkażdymmiejscu.
Niemniejjednakwewnętrzneszczegółyprojektowewarstwczasamitaksięprze-
nikają,żeprzelewająsięprzezgranicewarstwisamestająsięarchitekturąbez-
warstwową.Dlaprzykładurozważmyarchitekturęsterowanązdarzeniami(event-
-drivenarchitectureEDA).