Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.1.Pisanieutrzymywalnegokodu
7
Prawdępowiedziawszy,naszepierwotnewprowadzeniedo
DI
wzięłosięzborykania
sięzpewnymiaspektamiTest-DrivenDevelopment(Programowaniesterowanetestami,
TDD
).Wtedywłaśnieodkryliśmy
DI
idowiedzieliśmysię,żeinniludzieużywaligojuż
wcześniejwscenariuszach,któremyporuszaliśmy.
Inawetjeśliniepiszesiętestówjednostkowych(jeślitakjest,topowinnosięzacząć
jużteraz),DIjestnadalodpowiednimwzorcemzpowoduwszystkichinnychkorzyści,
któremawzanadrzu.Twierdzenie,żeDIjestjedynieodpowiedniedowsparciatestów
jednostkowych,jestjaktwierdzenie,żenadajesiętylkodoosiągnięciapóźnegowiąza-
nia.Rysunek1.2pokazuje,jakmimożetoinnywidokjesttowidoktaksamowąski
jaktenzrys.1.1.Wtejksiążcepostaramysiępokazaćcałyobraz.
Jeśliktośmyślał,że
DI
mazastosowanietylkowtestowaniujednostkowym,musi
oduczyćsiętegozałożenia.DIpozwalanawielewięcejniż(tylko)testowaniejednost-
kowe.
Późnewiązanie
Rysunek1.1.dipozwalanapóźnewiązanie,alezakładanie,żenadajesięonotylko
doscenariuszypóźnegowiązania,jestprzyjęciemfragmentuzowieleszerszegowidoku
Późnewiązanie
Testowaniejednostkowe
Rysunek1.2.Możedotejporyniektórzytwierdzili,żetestowaniejednostkowetojedynyceldi.
Chociażtozałożenieróżnisięodzałożeniaopóźnymwiązaniu,onorównieżjestprzyjęciem
fragmentuzowieleszerszegowidoku
fabrykaabstrakcyjnanasterydach
Najprawdopodobniejnajbardziejniebezpiecznymmitemjestteno
DI
obejmującym
jakiegośrodzajuogólnycelFabrykiabstrakcyjnej,któregomożnaużyćdostworzenia
przykładówZALEŻNOŚCIpotrzebnychwaplikacjach.