18
Wstrzykiwanie zależności Tomasz Bartoszewski

Wstrzykiwanie zależności

  • Upload
    alayna

  • View
    47

  • Download
    0

Embed Size (px)

DESCRIPTION

Wstrzykiwanie zależności. Tomasz Bartoszewski. C o przypomina Twój kod?. Co nas boli. Wszelkie „drobne” zmiany zlecane przez klienta Utrudnione rozszerzanie aplikacji o dodatkowe funkcjonalności Klasy silnie ze sobą powiązane Tworzenie jednych obiektów w innych. - PowerPoint PPT Presentation

Citation preview

Page 1: Wstrzykiwanie zależności

Wstrzykiwanie zależnościTomasz Bartoszewski

Page 2: Wstrzykiwanie zależności
Page 3: Wstrzykiwanie zależności

Co przypomina Twój kod?

Page 4: Wstrzykiwanie zależności

Co nas boli

• Wszelkie „drobne” zmiany zlecane przez klienta

• Utrudnione rozszerzanie aplikacji o dodatkowe funkcjonalności

• Klasy silnie ze sobą powiązane

• Tworzenie jednych obiektów w innych

Page 5: Wstrzykiwanie zależności

Odwrócenie sterowania(Inversion of Control)

• „Nie dzwoń do nas, my zadzwonimy do Ciebie”

• Stolarz nie rąbie drzew, a mechanik nie wytwarza narzędzi

Dostarczaj obiektom to czego potrzebują!

Page 6: Wstrzykiwanie zależności

Wstrzykiwanie zależności(Dependency Injection)

• Jeden z pomysłów realizacji IoC, obecnie najpopularniejszy

• Odwrócone sterowanie czyli tworzenie i wiązanie obiektów

Page 7: Wstrzykiwanie zależności

Zalety

• Luźne powiązania obiektów

• Ułatwiona pielęgnacja kodu, wprowadzania zmian, dalszy rozwój

• Dodatkowy profit podczas pisania testów jednostkowych

Page 8: Wstrzykiwanie zależności

"Software is always under constant pressure to change, so

it's very important to keep your code flexible. Inversion of

control helps you break your application into pieces of

manageable size, and then glue them back together in a

much more flexible way. Then, the next time your client asks

you to make a 'little' change to the product, you can laugh

triumphantly instead of quivering in pain.“

-Nate Kohari(Creator of Ninject)

Page 9: Wstrzykiwanie zależności

Przykłady

Page 10: Wstrzykiwanie zależności
Page 11: Wstrzykiwanie zależności
Page 12: Wstrzykiwanie zależności

Własne wstrzykiwanie zależności

Page 13: Wstrzykiwanie zależności

Wykorzystaj gotowe sprawdzone rozwiązania

Page 14: Wstrzykiwanie zależności

Wykorzystanie Springa

Page 15: Wstrzykiwanie zależności

Druga strona medalu

Page 16: Wstrzykiwanie zależności

Ninject

Page 17: Wstrzykiwanie zależności
Page 18: Wstrzykiwanie zależności