Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Różneodmianywarstw
21
UwagaTwórcąkoncepcji(inazwy)architekturyheksagonalnejjestAlistairCockburn,któ-
ryopracowałwroku2005.Cockburn,któryjestrównieżjednymzautorówManifestu
Zwinnego(AgileManifesto),byłbliskoludzi,którzyopracowaliDDD,ajegoarchitektura
heksagonalnamożesięwydawaćpróbązłagodzeniamożliwychpułapekmodelowania
obiektowego,stanowiącegoośrodekDDD.Jednakchoćkoncepcjaheksagonalnapojawiła
sięmniejwięcejwtymsamymczasie,coDDDijegoarchitekturawarstwowa,maznimnie-
wielewspólnego.Jejgłównymcelembyłouzyskaniejeszczewiększejmodularnościpoprzez
umieszczenieinterfejsu(portu)zakażdymzadaniemzeświatarzeczywistego,któremoże
wykonaćrdzeńaplikacji.
ZbiórportówwejściowychtworzywarstwęAPIdefiniowanąprzezaplikację,dzięki
czemuświatzewnętrzny(czyliwarstwaprezentacji)możezniąwchodzićwinterakcje.
Teportyrównieżnazywaneportamisterującymi(driverports).Portyumieszczonepo
drugiejstronieheksagonutoportysterowane(drivenports),któretworządefiniowany
przezaplikacjęinterfejsdokomunikacjizzewnętrznymisystemami,takimijakbazy
danych.Metodywtychportachwszystkim,oczymwieaplikacjaiusługidome-
ny
.Ztegosamegopowoduadapteryimplementacjamiinterfejsówportów,które
naprawdęwiedzą,jakpakowaćobiektyprzesyłaniadanychwejściowychijakodczy-
tywać/zapisywaćwbaziedanych.
UwagaZewzględunato,jakważneportyiadapterywarchitekturzeheksagonalnej,
innąpopularnąnazwątejkoncepcjijest„port/adapter”.
Czystaarchitektura
SpopularyzowanaprzezRobertaMartina(znanegojakoUncleBob)okołoroku2012,
czystaarchitektura(cleanarchitectureCA)jestpoprostuinnąodmianąarchitektury
warstwowej,któraczerpiezarównozideiDDD,jakiHA.Niewprowadzadogry
niczegonowegopozadążeniemdouporządkowaniai(zapewne)ujednoznacznienia
koncepcji.Jednakostateczniedodaniekolejnejnazwyijeszczejednegostyludiagramu
zapewnewprowadziłorównieżnowezamieszanie.Niebędziemydalekoodprawdy
mówiąc,żeCAtosposóbnazwanianieznacznieróżniącychsiępomysłównową,jed-
noczącąnazwą.
CAprzedstawiasięprzyużyciukoncentrycznychkręgów,aniepionoworozmiesz-
czonychpaskówlubsześciokąta.Najbardziejzewnętrznykrągreprezentujedowolną
możliwąkomunikacjęzeświatemzewnętrznym,którymmogąbyćwebowefront-endy
,
interfejsyużytkownikówlubbazydanych.Najbardziejwewnętrznykrągtowarstwa
domenyrepozytoriumniezmiennychregułbiznesowych.Warstwadomenyjestoto-
czonawarstwąprzypadkówużycia,czyliwarstwąaplikacji.Następniemamywarstwę