Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
nDozapamiętaniazwracauwagęnakonsekwencjeiryzyka,jakie
niesiezesobąwykorzystaniewzorca.
Jeślichcielibyściecośzrozumieć,potrzebujeciekonkretnychprzy-
kładów-takjakczęstodziejesiętozemną-podrozdziałnPrzy-
kładowykodjestdlanas.Przeprowadzaonkrokpokrokuprzez
pełnąimplementacjęwzorca,takbyśmymoglidokładniezobaczyć,
wjakisposóbondziała.
Wzorceróżniąsięodpojedynczychalgorytmów,ponieważmają
charakterotwarty.Zakażdymrazem,gdykorzystamyzwzorca,
prawdopodobniezaimplementujemygoinaczej.Kolejnypod-
rozdział,nDecyzjeprojektowe”,zgłębiatenobszaripokazuje
różnemożliwości,którepowinniśmywziąćpoduwagę,stosując
wzorzec.
KrótkipodrozdziałnPatrzrównieżsłużypodsumowaniuorazpo-
kazuje,wjakisposóbdanywzorzecwiążesięzinnymi,atakże
wskazujerzeczywisteprzykładykoduopensource,wktórymone
wykorzystywane.
Kilkasłówoprzykładowymkodzie
PrzykładowykodwtejksiążcejestnapisanywC++,nienależy
jednakztegownosić,żewzorceteznajdujązastosowaniejedynie
wtymjęzyku,aniżejęzykC++nadajesiędotegolepiejodin-
nych.Prawiekażdyjęzykdobrzesięsprawdzi,choćniektórewzorce
wydająsięzakładać,żejęzyk,którymsięposługujemy,uwzględnia
obiektyiklasy.
WybrałemC++zkilkupowodów.Popierwsze,jesttonajpopular-
niejszyjęzyktworzeniakomercyjnychgier.Touniwersalnyjęzykcałej
branży.Cowięcej,składniaC,naktórejopierasięC++,stanowirów-
nieżpodstawęjęzykówJava,C#,JavaScriptiwieluinnych.Nawetjeśli
nieznamyC++,istniejąsporeszanse,żeprzyodrobiniewysiłkubędzie-
mywstaniezrozumiećzawartetupróbkikodu.
NauczenieC++niejestcelemtejksiążki.Przykładyzostałydobrane
tak,abybyłytakproste,jaktomożliweiniereprezentatywnedla
dobregostylukorzystaniazC++.Należyjeczytać,zwracającuwagę
naideę,jakąwyrażają,anienawyrażającykod.
Wszczególnościkodtenniezostałnapisanywenwspółczesnym”stylu
charakterystycznymdlaC++wwersji11lubnowszej.Niekorzysta
onzestandardowejbibliotekiijedyniezrzadkawykorzystujeszablony.
Sprawiato,żepowstajenkiepski”kodC++,mamjednaknadzieję,że
dziękitymograniczeniombędzieonbardziejprzystępnydlaosóbkorzy-
stającychnacodzieńzC,Objective-C,Javyiinnychjęzyków.
Abyuniknąćmarnowaniamiejscanakod,któryjużwidzieliśmylub
któryniemaznaczeniadladanegowzorca,fragmentykoduzostaną
6WprowadzenieKilkasłówoprzykładowymkodzie