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ólnezasadySOLIDomó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
automatycznekluczowedoosią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