..


Sponsorētās saites

SOK un DI (Inversija Kontroles un atkarības Injection)

"Inversija Kontroles (SOK) ir raksturīga regulējuma, kas kustina kontroles plūsmu, piemērojot regulējumu pati.

Paņemsim piemēru jāprecizē jēdziens: ja jūs izveidot GUI API caur šūpoles , programmētājs tikai vajag īstenot notikumu apstrādes, ko izraisa lietotājs, piemēram, nospiežot pogu vai ievadot tekstu. Framework ir atstāta plūsmas kontroli lietojumiem, piemēram, aizvēršanas un atvēršanas logiem.

(Raksts turpina tālāk ...)

Šis uzvedības veids tiek saukts SOK kā kontroles pārvietojas ar attīstītājs sistēmu.

Kad ir skaidrs, kas ir SOK, mēs redzam, kā tā tiek izmantota pavasarī.
Visi pieteikumi tiek izgatavoti no objektiem, kas sasniedz mērķi, mērķis būtu savstarpēji jāsadarbojas, un tad neizbēgami veidojas atkarības. Parasti šīs atkarības tiek risināti kādu kodu, kas ir piemērota konfigurācija (parasti ražotājs). Pieņemsim, ka mums ir jāīsteno klases vadības video uzglabāt:






 it.mrwebmaster paketi;









 Importa java.util.ArrayList;







 Importa java.util.List;









 valsts klases {VideoManager





  



 Private DvdService dvdService;





  



 valsts VideoManager () {



    



 super ();



    



 / **



     



 * Konfigurācija un risināt atkarību



     



 * /



    



 this.dvdService DvdServiceImpl = jauns ();



  



 }





  



 <Dvd> GetAvalaibleDvdList sabiedrisko saraksts () {



    



 / **



     



 * Ielādēt sarakstu DVD



     



 * /



    



 Saraksts <Dvd> dvdList dvdService.getDvdList = ();





    



 / **



     



 * Loop, izmantojot sarakstu, DVD, lai atrastu

 

     



 * Šie pieejams



     



 * /



    



 List = jauni ArrayList <Dvd> availabeDvdList <Dvd> ();





    



 par (DVD DVD: dvdList) {



      



 ja (dvd.isDisponibile ()) {



        



 availabeDvdList.add (DVD);



      



 }



    



 }





    



 availabeDvdList atgriešanās;



  



 }

	





 }



Šajā piemērā klase VideoManager uzdevums ir iegūt sarakstu, kuras nav izīrēti DVD. Sarakstā tiek izgūti, izmantojot pakalpojumu (DvdService), kas izgūst sarakstu ar visiem DVD un riteņbraukšanu sarakstā ir DVD pieejami. Klase VideoManager Tādēļ ir atkarība no objekta DvdService, kas ir atrisināts konstruktors.

Diagramma Dipendenze

Ja mēs nebija lietojuši Pavasara mums būtu jāuztraucas par atrisinātu dipendeza VideoManager klasē konstruktors, jo atkarība tiks atrisinātas, pavasarī.
Gada pavasarī, lai SOK tiek izmantota, lai mainītu kontrolēt konfigurācijas atkarības. Šī iemesla dēļ tika izdomāts ar Martin Fowler, savā slavenajā rakstā termins Dependecy Injection (DI), ko dažkārt lieto nepareizi kā sinonīmu SOK id.
Pamata koncepcija DI ir, lai būtu atsevišķs objekts, kas nodarbojas ar atkarības izšķirtspēju un inicializācijas.

Šīs kategorijas montētājam ir atbildīgs par inicializēšana klase DvdService:

Diagramma Assembler

Ir trīs veidu Dependecy Iesmidzināšana:

  • Interface injekcijas
  • Zoblocis injekcijas
  • Constructor Injection
Šajā pavasarī, kā mēs redzēsim tālāk, tiek īstenoti tikai konstruktoru Injection un seters, bet ir arī iespēja veidot un inicializēt objektus ar Object Factory un Factory metode.

Java Spring Guide
E-Learning
Linux Course Linux Course
Pilnīga rokasgrāmata atvērtā koda sistēma. Atlaide -10% līdz 2012/06/01.
PHP Course PHP Course
Pilns kurss, lai radītu dinamisku tīmekļa vietnes. Atlaide -5% līdz 2012/06/01.
Protams, Ruby un Ruby On Rails Protams, Ruby un Ruby On Rails
Izveide programmatūras un Web lietojumprogrammas ar Ruby un ROR. Atlaide -10% līdz 2012/06/01.
Sponsorētās saites