Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.1.Pisanieutrzymywalnegokodu
Zarównousługa,jakikomponenttonadużywaneterminy,awięcwtejksiążce
zamiastnichużywamypojęćABSTRAKCJAiklasa.
5
Tenrozdziałjestwmiaręlinearnywswojejstrukturze.Napoczątkuprzedstawiamy
DI
orazpokazujemyjegowykorzystanieikorzyści.Ichociażużyliśmyprzykładów,to
wporównaniudopozostałychrozdziałówjesttunajmniejkodu.Zanimprzedstawimy
DI
,omówimypodstawowycel
DI
,czyliutrzymywalność.Jesttoważne,ponieważnie-
trudnoozłezrozumienie
DI
bezwcześniejszegodobregoprzygotowania.Następnie
poprzykładnie(Hello
DI
!)opisujemykorzyściizakres,którymiwyznaczamyplan
dlacałejksiążki.Kiedyktośuporasięztymrozdziałem,powinienbyćprzygotowany
nabardziejzaawansowanepojęciapojawiającesiępóźniejwksiążce.
Dlawiększoścideweloperów
DI
możewydawaćsięodwróconymsposobemtworze-
niakoduźródłowegoi,takjakwprzypadkusosuberneńskiego,pojawićsięmożewiele
wcześniejwspomnianychFUD.AbypoznaćDI,najpierwnależyzrozumiećjegocel.
1.1.Pisanieutrzymywalnegokodu
DojakiegoceluwykorzystujesięDI?DIniejestcelemsamymwsobie,aleraczejśrod-
kiemdoosiągnięciazałożenia.Ostateczniecelemwiększościtechnikprogramowania
jestdostarczeniedziałającegooprogramowaniawjaknajbardziejefektywnysposób.
Jednymzaspektówdoosiągnięciategojestpisaniełatwoutrzymywalnegokodu.
Częstopojawiająsiętakiesytuacje,kiedytoutrzymujesięirozszerzaistniejącykod.
Nochybażepiszesiętylkoiwyłącznieprototypyiaplikacje,którenigdyniedocze-
kająsięwydania.Mówiącwskrócie,utrzymywalnośćkoduprzekładasięnaefektyw-
nośćpracyzkodem.
Świetnymsposobemnatworzenieutrzymywalnegokodujeststosowanieluźnych
wiązań.Tametodabyłajużznanadawnotemuw1994roku,kiedytoBandaCzterech
(TheGangofFour)napisała„Wzorceprojektowe”(DesignPatterns)2.
Programujdointerfejsu,anieimplementacji.
Taważnaporadaniejestkonkluzjąksiążki„Wzorceprojektowe”,araczejjej(głów-
nym)założeniem.Luźnewiązaniesprawia,żekodjestłatwiejrozszerzalny.Arozsze-
rzalnośćprzekładasięnałatwośćutrzymania.
DI
tonicinnegojaktechnikapozwalająca
nawłaśnieluźnewiązanie.Cowięcej,istniejewielebłędnychprzekonańo
DI
iczasami
zaburzająonezrozumienietematu.Zanimktośnauczysięczegokolwiek,musioduczyć
siętego(comyśli),cojużwie.
2
E.Gammaetal.,DesignPatterns:ElementsofReusableObject-OrientedSoftware,Addison–Wesley,1994,
18.Polskietłumaczenie:Wzorceprojektowe.Elementyoprogramowaniaobiektowegowielokrotnegoużytku,
Helion,2010.