Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
10
Rozdział1:Wposzukiwaniumodułowejarchitekturyoprogramowania
Warstwadanych
Totuinformacjeprzetwarzaneprzezaplikacjęsąutrwalaneiodczytywane.Wielkość
(„grubość”)tejwarstwyjestbardzozmienna.Możełączyćsięonazserwerembazy
danych–relacyjnymalboNoSQL–albomożebyćzbudowanaprzezkodgenerujący
surowewywołaniadoserweramagazynującegopoprzezdedykowaneodwzorowania
obiektowo-relacyjne(object-relationalmappers–ORM),takiejakEntityFramework
(EF)alboDapper.
Wostatnimczasiewarstwadanychdoczekałasięnowejabstrakcjiwformiewarstwy
infrastrukturalnej,dlaktórejutrwalaniedanychjestgłówną,aleniejedynąodpowie-
dzialnością.Postrzeganajakoinfrastruktura,tawarstwajestrównieżodpowiedzialna
zaemaileipołączeniazzewnętrznymiAPI.
Ważne
Podstawowymcelemarchitekturywielowarstwowejjestosiągnięcieseparacjiza-
gadnień(SoC)izagwarantowanie,żeróżnerodzajezadańsąwykonywanewodpowiednio
odizolowanymśrodowisku.GłównąkonsekwencjąSoC,szczególnieprzystosowaniuwzglę-
demwieluwarstw,jestto,żezależnościpomiędzywarstwamimusząbyćściśleregulowane.
Omówienietego,jakzaplanowaćseparacjęzagadnieńpomiędzywarstwywkontekścieapli-
kacjiwebnapisanejdlastosu.NET,stanowigłównyceltejksiążki.
KanonicznaarchitekturaDDD
NapoczątkuXXIwiekubranżaprogramistycznastanęławobliczugigantycznego
wyzwania:zmodernizowania,alboprzynajmniejzmigrowaniaistniejącychaplikacji
biznesowych,abywykorzystaćnowemożliwościwynikającezgwałtownegorozwoju
Internetu.Próbyzaadaptowaniaaplikacjinamainframe’ywceluobsłużeniarosnącego
popytunae-commercewprowadziłyzłożonościomonumentalnychrozmiarach.
Trzywarstwowa(czyteżtrzypoziomowa)architekturazaczęłapękaćpodciężarem
tejzłożoności–nieażtakbardzozpowoduwrodzonejnieefektywności,aleraczej
zewzględunapotrzebęzwiększeniamodularnościwceluzarządzaniawymagania-
mibiznesowymiiimplementacyjnymi,atakże(miejmynadzieję)skalowalności.(To
wtymczasieterminskalowalnośćzdobyłpopularnośćiuzyskałtoznaczenie,które
znamydziś–zdolnośćsystemudozapewnieniadobregopoziomuobsługinawetwte-
dy
,gdyliczbażądańwzrośnienieoczekiwanie).
Metodologiaprojektowaniadziedzinowego(domain-drivendesign–DDD)usyste-
matyzowaławielepraktykirozwiązań,którepotwierdziłyswojąskuteczność.Wraz
zmetodologiąprojektowaniapowstałarównieżkanoniczna,wspierającająarchitektura.
UwagaNieprzypadkowoużyłemokreślenia„monumentalnazłożoność”.Jesttocytat
zopowieścizasłyszanychodludzi,którzyzdefniowaliDDDihołddlanichwszystkich.