..


Sponsor Bağlantılar

IoC ve DI (Kontrol ve Bağımlılık Enjeksiyon Ters)

Kontrol (IOC) 'S Ters çerçevesinde kendisine uygulama tarafından akış kontrolü hareket çerçevesinde, tipik bir özelliğidir.

Kullanıcı kavramı açıklamak için bir örnek verelim: Bir oluşturursanız GUI ile API salıncak , programcı, böyle bir düğmeye basarak veya metin girme gibi kullanıcı tarafından tetiklenen olaylar işleyicileri uygulaması gerekmektedir. Çerçeve bu tür açma ve kapama pencere olarak uygulama akış kontrol bırakılmıştır.

Denetim çerçevesinin geliştiricisi tarafından taşınır çünkü davranış Bu tür IoC denir.

Bir kere o Baharda nasıl kullanıldığını IOC, gördüğümüz şey açıktır.
Tüm başvurular önceden belirlenmiş amaç birbirleriyle işbirliği içinde olmalıdır, ve kaçınılmaz olarak bağımlılık oluşur ulaşmak nesneler oluşur. Normalde bu bağımlılıklar yapılandırma (genellikle üretici) için uygun bir kod ile çözümlenir. Bir video dükkanında yönetmek için bir sınıf uygulamak olduğunu varsayalım:






 it.mrwebmaster paket;









 ithalat java.util.ArrayList;







 ithalat java.util.List;









 {Public class VideoManager





  



 Özel DvdService dvdService;





  



 kamu VideoManager () {



    



 super ();



    



 / **



     



 * Yapılandırma ve bağımlılık çözünürlüğü



     



 * /



    



 this.dvdService DvdServiceImpl = new ();



  



 }





  



 <Dvd> GetAvalaibleDvdList public List () {



    



 / **



     



 * DVD listesini döndürür



     



 * /



    



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





    



 / **



     



 Bulmak için DVD'ler listesinde * döngü

 

     



 * Mevcut olanlar



     



 * /



    



 Liste = new ArrayList <Dvd> availabeDvdList <Dvd> ();





    



 {: (dvdList DVD DVD) için



      



 {(dvd.isDisponibile ()) if



        



 availabeDvdList.add (DVD);



      



 }



    



 }





    



 availabeDvdList dönmek;



  



 }

	





 }



Bu örnekte sınıf VideoManager olmayan kiralık DVD listesi kurtarma görevi vardır. Liste mevcut DVD olan bir bütün DVD'ler bir listesini alır hizmeti (DvdService) ve listede bisiklet kullanarak alınır. Sınıf VideoManager, bu nedenle, yapıcı giderilmiştir nesne DvdService, bir bağımlılığı vardır.

Diagramma Dipendenze

Biz Bahar kullanılan olmasaydı biz bağımlılık Bahar çözülebilir, çünkü, sınıf yapıcısında dipendeza VideoManager çözme konusunda endişelenmenize gerek olmalıdır.
Bahar, sonra, IOC yapılandırma bağımlılıkları üzerinde kontrol ters çevirmek için kullanılır. Bu nedenle onun ünlü Martin Fowler tarafından icat edildi makale , bazen eşanlamlı IoC kimliği olarak yanlış kullanılan terim Dependecy enjeksiyon (DI).
DI temel kavram bağımlılık çözünürlük ve başlatma yapmak için ayrı bir nesne olmasıdır.

Aşağıdaki assembler sınıf, sınıf DvdService başlatmak için görev vardır:

Diagramma Assembler

Dependecy Enjeksiyon üç tipi vardır:

  • Arayüz enjeksiyon
  • Setter enjeksiyon
  • Oluşturucu Enjeksiyon
Bahar ise, daha sonra göreceğimiz gibi, sadece Oluşturucu ve belirleyici Enjeksiyon uygulanan, ancak Nesne Fabrika ve Fabrika Yöntemi ile nesneleri başlatmak ve oluşturmak da mümkün bulunmaktadır.

Bahar Java Rehberi
E-Öğrenme
Linux (Ders) Linux (Ders)
Açık kaynak sistemi komple rehberi. 49 € düşük.
PHP (Ders) PHP (Ders)
Dinamik Web siteleri oluşturmak için tam ders. 49 € düşük.
Ruby on Rails ve Ruby (Ders) Ruby on Rails ve Ruby (Ders)
Ruby ve RoR ile yazılım ve Web uygulamaları oluşturun. En düşük € 39.
Sponsor Bağlantılar