Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Projektiarchitekturaoprogramowania
Wtejksiążceomówimywielewzorcówprojektowych,którepomagająwrozwiązywa-
niutypowychproblemów,jakienapotykająprogramiści.Wartojeznać,ponieważchoć
zpozorukażdyprojektprogramistycznyjestinnyistawianowewyzwania,taknaprawdę
wieleznichsiępowtarza.Zrozumienietypowychproblemówirozwiązaństosowanych
przezinnychprogramistówzapobiegaponownemuodkrywaniuAmerykiwnowych
projektachprogramistycznychipozwalanaszybszedostarczanieniezawodnych
programów.
Wysokopoziomowekoncepcje,takiejakzależnośćispójność,wprowadzimyjużna
początkuksiążkiwrozdziale2.WzorzecPowiadomieniewprowadzimywrozdziale3.
Wrozdziale5wyjaśnimy,jakprojektowaćprzyjaznydlaużytkownikówFluentAPIoraz
wprowadzimywzorzecBudowniczy.Ogólneomówieniearchitekturysterowanejzda-
rzeniamiisześciokątnąarchitekturęmożnaznaleźćwrozdziale6,natomiastwzorzec
Repozytoriumwrozdziale7.Nazakończenie,wrozdziale7,wprowadzimyprogramo-
waniefunkcyjne.
ZasadySOLID
PoszczególnezasadySOLIDsąomówionewróżnychrozdziałach.Tenzestawzasad
zostałzaprojektowanypoto,abyułatwićutrzymywanieoprogramowania.Choćpisanie
kodutodlawieluprogramistówulubionaczęśćpracy,tojeślinapisanyprogramokaże
sięsukcesem,trzebabędziegodostosowywać,rozwijaćiutrzymywać.Gdyoprogramo-
waniejestprostewutrzymaniu,ułatwiawprowadzaniezmianidodatkowychfunkcji
wprzyszłości.ZasadySOLIDzostałyomówionewnastępującychrozdziałach:
•zasadapojedynczejodpowiedzialności(SRP)-rozdział2,
•zasadaotwarte-zamknięte(OCP)-rozdział3,
•zasadapodstawieniaLiskov(LSP)-rozdział4,
•zasadasegregacjiinterfejsów(ISP)-rozdział5,
•zasadaodwróceniazależności(DIP)-rozdział7.
Testowanie
Pisaniesolidnegokodu,którymożnałatworozwijać,maogromneznaczenie.Testy
automatycznesąkluczowedoosiągnięciategocelu.Gdynapisaneoprogramowaniejest
skalowane,coraztrudniejjestwłasnoręcznieprzetestowaćróżnemożliwescenariusze.
Trzebazautomatyzowaćprocestestowania,abywłasnoręczneprzeprowadzanietestów
niezabierałocennegoczasu.
Podstawypisaniatestówzostałyomówionewrozdziałach2oraz4.Wrozdziale5roz-
szerzyliśmytoomówienieoprogramowaniesterowanetestami(TDD).Wrozdziale6
opisaliśmystosowanietestdoubles,takichjakatrapyistubs.
2
|Rozdział1:Rozpoczynaniepodróży