..


Rėmėjų nuorodos

TOK ir DI (Inversija kontrolės ir priklausomybės injekcija)

"S Inversija kontrolės (TOK) yra tipiškas bruožas sistemą, kuri juda srauto kontrolės taikymo sistema pati.

Paimkime, pavyzdžiui paaiškinti koncepcija: jei kuriate GUI API per sūpynės , programuotojas reikia tik įgyvendinti įvykių sukėlė vartotojo, pavyzdžiui, spausdami mygtuką arba įvedant tekstą tvarkytojai. Pagrindų paliekama kontrolės taikymo srautas, pavyzdžiui, uždarius ir atidarius langus.

Šis elgesio tipas vadinamas TOK, nes kontrolė yra perkelta pagrindų kūrėjas.

Kai aišku, ką TOK, mes matome, kaip jis naudojamas pavasarį.
Visos paraiškos susideda iš objektų, kurie pasiekia iš anksto tikslas turi bendradarbiauti viena su kita, ir neišvengiamai formuojasi priklausomybė. Paprastai šių priklausomybių yra sprendžiami kodą, kuris yra tinkama konfigūracija (dažniausiai gamintojas). Tarkime, turime įgyvendinti valdymo video parduotuvę klasė:






 it.mrwebmaster paketą;









 importo java.util.ArrayList;







 importo java.util.List;









 {Visuomenės klasė VideoManager





  



 Asmeninis DvdService dvdService;





  



 visuomenės VideoManager () {



    



 super ();



    



 / **



     



 * Konfigūracija ir priklausomybės rezoliucija



     



 * /



    



 this.dvdService DvdServiceImpl = nauji ();



  



 }





  



 <Dvd> GetAvalaibleDvdList viešojo sąrašas () {



    



 / **



     



 * Priimti DVD sąrašas



     



 * /



    



 Sąrašas <Dvd> dvdList dvdService.getDvdList = ();





    



 / **



     



 * Ciklas per DVD rasite sąrašą

 

     



 * Turimą



     



 * /



    



 Sąrašas = nauji ArrayList <Dvd> availabeDvdList <Dvd> ();





    



 už (DVD DVD: dvdList) {



      



 if (dvd.isDisponibile ()) {



        



 availabeDvdList.add (DVD);



      



 }



    



 }





    



 availabeDvdList grįžti;



  



 }

	





 }



Šiame pavyzdyje klasė VideoManager turi susigrąžinti ne nuomojamų DVD sąrašą užduotis. Sąrašas Gauta naudojantis paslauga (DvdService), kuri nuskaito visus DVD sąrašą, ir dviračių sąraše yra DVD prieinama. Klasės VideoManager, todėl turi objektą DvdService, kuri yra sprendžiami konstruktorius priklausomybė.

Diagramma Dipendenze

Jei mes nebuvo naudojami pavasarį turėtume jaudintis sprendžiant dipendeza VideoManager į klasės konstruktorius, nes priklausomybę būtų išspręsta pavasarį.
Pavasarį, po to, TOK yra naudojamas invertuotąjį per konfigūracijos priklausomybių kontrolė. Dėl šios priežasties ji sukūrė Martin Fowler savo garsiajame straipsnyje , sąvoka Dependecy Įpurškimo (DI), kuris kartais yra vartojamas neteisingai, kaip sinonimas TOK ID.
Pagrindinės sąvokos DI yra turėti atskirą objektą padaryti priklausomybę rezoliucija ir iniciacijos.

Šių surinkėjas klasės užduotis yra inicijuoti klasės DvdService:

Diagramma Assembler

Yra trijų tipų Dependecy Įpurškimas:

  • Sąsaja injekcija
  • Seteris injekcija
  • Konstruktorius įpurškimas
Pavasarį, kaip vėliau matysime, yra įgyvendinama tik Konstruktorius ir seteris injekcijos, tačiau ji taip pat galima inicijuoti ir kurti objektus per objektas gamyklos ir gamyklos metodas.

Pavasario "Java" vadovas
E-mokymasis
"Linux" (kurso) "Linux" (kurso)
Užbaigti vadovą, kad atviro kodo sistema. Nuo 49 €.
PHP (kurso) PHP (kurso)
Visas kursas sukurti dinaminius interneto svetainių. Nuo 49 €.
Ruby ir Ruby on Rails (kurso) Ruby ir Ruby on Rails (kurso)
Sukurti programinę įrangą ir interneto programų su Ruby ir RoR. Nuo 39 €.
Rėmėjų nuorodos