Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
12
rozdział1PodstawyWstrzykiwaniazależności:co,jakidlaczego
Popierwsze,niejesteśmyjużwięcejograniczenitylkodosuszarek.Jeśliktośjest
typowymczytelnikiemtejksiążki,zakładamy,żebardziejpotrzebujeprądudokompu-
teraniżdosuszarki.Tożadenproblem:odpinasięsuszarkęodprąduiwjejmiejsce
podpinakomputer(zobaczrys.1.5).
Rysunek1.5.Używającgniazdkaiwtyczki,możnazamienićoryginalnąsuszarkęzrys.1.4
nakomputer.TakazamianaodnosisiędoZASADYPODSTAWiANiALiSKOv
ZASADAPODSTAWIANIALISKOV
Zadziwiające,jakkoncepcjagniazdkapojawiłasiędekadywcześniejniżkomputery,ajed-
nakwciążjestpodstawąjegodziałania(zasilania).Twórcyoryginalnegoprojektugniazdka
niemoglinawetwżadensposóbprzewidziećistnieniakomputerówPC,aledziękiwszech-
stronnościdesignupotrzebynapoczątkunieuwzględnionemogąbyćterazspełnione.
Możliwośćzmianywtyczeklubimplementacji,bezpotrzebyzmianygniazdkalubinterfejsu,
przypominagłównązasadętworzeniaoprogramowaniazwaną
zasadąpodstawianialiskov
.
Wedługtejzasadypowinniśmybyćwstaniezamienićjednąimplementacjęinterfejsu
nainnąbezzmiananiwkodzieklienta,aniwimplementacji.
Kiedymowao
di
,
zasadapodstawianialiskov
jestjednąznajważniejszychzasadtworzenia
oprogramowania.Totakareguła,którapozwalanasprostaniewymaganiompojawiającym
sięwprzyszłości,nawetjeśliniemożemyichdzisiajprzewidzieć.
Kiedynieużywasiękomputera,możnaodłączyćgoodprądu.Ichociażnicniejest
podłączonedoprądu,topokójnieeksploduje.Oznaczato,żejeśliodłączysiękom-
puterzgniazdka,toanigniazdko,anisamourządzeniesięniezepsują.
Wprzypadkuoprogramowaniaczęstoklientoczekuje,żeusługabędziedostępna.
Jeśliusuniemyusługę,otrzymamy
NullReferenceException
.Możemystworzyćpoje-
dyncząimplementacjęinterfejsu,któranicnierobiwceluuporaniasięztakąsytuacją.
TakiwzorzectworzenianazywanyjestPustymObiektem.Jestonanalogicznydozaślepek
dogniazdsieciowychużywanychprzydzieciach(albosamawtyczkabezkablablokująca