..


ลิงก์ผู้สนับสนุน

IoC และ DI (ผกผันของการควบคุมและการพึ่งพาการฉีด)

ผกผันของการควบคุม (IoC) เป็นคุณลักษณะโดยทั่วไปของกรอบที่จะย้ายการควบคุมการไหลโดยการประยุกต์ใช้กับกรอบของตัวเอง

ลองมาตัวอย่างเพื่อชี้แจงแนวคิด : ถ้าคุณสร้าง GUI API ผ่าน การแกว่ง , โปรแกรมเมอร์เพียงความต้องการในการดำเนินการจัดการของเหตุการณ์เรียกโดยผู้ใช้เช่นกดปุ่มหรือการป้อนข้อความ กรอบที่เหลืออยู่ในการควบคุมการไหลของโปรแกรมเช่นการปิดและเปิดหน้าต่าง

ประเภทของพฤติกรรมนี้จะเรียกว่า IoC เพราะการควบคุมจะถูกย้ายโดยนักพัฒนาของกรอบที่

เมื่อมันเป็นที่ชัดเจนสิ่งที่ IOC เราจะเห็นวิธีการที่จะใช้ในฤดูใบไม้ผลิ
โปรแกรมทั้งหมดประกอบด้วยวัตถุที่ถึงเป้าหมายที่กำหนดไว้ต้องให้ความร่วมมือกับแต่ละอื่น ๆ และย่อมจะเกิดขึ้นการพึ่งพา โดยปกติการอ้างอิงเหล่านี้จะแก้ไขได้โดยการใช้รหัสที่เหมาะสมสำหรับการตั้งค่า (โดยปกติผู้ผลิต) ที่มี สมมติว่าเรามีการดำเนินการชั้นสำหรับการจัดการการจัดเก็บวิดีโอที่ :






 แพคเกจ it.mrwebmaster;









 นำเข้า java.util.ArrayList;







 นำเข้า java.util.List;









 {สาธารณะ VideoManager ชั้น





  



 dvdService DvdService เอกชน





  



 VideoManager สาธารณะ () {



    



 super ();



    



 / **



     



 * ความละเอียดการกำหนดค่าและการพึ่งพา



     



 * /



    



 this.dvdService DvdServiceImpl = ใหม่ ();



  



 }





  



 <Dvd> getAvalaibleDvdList รายการสาธารณะ () {



    



 / **



     



 * เรียกดูรายการของแผ่นดีวีดี



     



 * /



    



 รายชื่อ <Dvd> dvdList dvdService.getDvdList = ();





    



 / **



     



 * ลูปผ่านรายการของดีวีดีที่จะหา

 

     



 * ผู้ที่สามารถใช้ได้



     



 * /



    



 รายการใหม่ = ArrayList <Dvd> <Dvd> availabeDvdList ();





    



 สำหรับ (DVD DVD : dvdList) {



      



 ถ้า (dvd.isDisponibile ()) {



        



 availabeDvdList.add (DVD);



      



 }



    



 }





    



 กลับ availabeDvdList;



  



 }

	





 }



ในตัวอย่างนี้ VideoManager ชั้นเรียนมีงานของการกู้คืนรายการที่ไม่ใช่ของเช่าดีวีดี รายการจะถูกเรียกใช้บริการ (DvdService) ที่เรียกรายการของดีวีดีทั้งหมดที่เป็นและการขี่จักรยานในรายการดีวีดีที่มีอยู่ VideoManager ชั้นเรียนจึงมีการพึ่งพาใน DvdService วัตถุซึ่งได้รับการแก้ไขใน constructor

Diagramma Dipendenze

ถ้าเราไม่ได้ใช้สปริงที่เราควรจะต้องกังวลเกี่ยวกับการแก้ปัญหา VideoManager dipendeza ใน constructor ชั้นเรียนตั้งแต่การพึ่งพาที่จะแก้ไขได้โดยฤดูใบไม้ผลิ
ในฤดูใบไม้ผลิแล้ว IOC จะใช้ในการสลับการควบคุมมากกว่าการอ้างอิงการตั้งค่า ด้วยเหตุนี้จึงได้ชื่อว่าโดย Martin Fowler ในชื่อเสียงของเขา บทความ , ฉีด Dependecy ระยะ (DI) ซึ่งจะใช้เป็นบางครั้งไม่ถูกต้องเป็นคำพ้อง IoC id ที่
แนวคิดพื้นฐานของ DI จะมีวัตถุที่แยกต่างหากที่จะทำรายละเอียดการพึ่งพาและการเริ่มต้น

ชั้นประกอบดังต่อไปนี้มีงานในการเริ่มต้น DvdService ชั้นที่ :

Diagramma Assembler

มีสามประเภทของการฉีด Dependecy มีดังนี้ :

  • ฉีดอินเตอร์เฟซ
  • ฉีด setter
  • ฉีด constructor
ในฤดูใบไม้ผลิที่เราจะได้เห็นต่อไปจะดำเนินการสร้างเท่านั้นและฉีด Setter, แต่ก็ยังเป็นไปได้ที่จะเริ่มต้นและสร้างวัตถุผ่านโรงงานวัตถุและโรงงานวิธี

แผนที่สปริง Java
E - Learning
ลินุกซ์ (หลักสูตร) ลินุกซ์ (หลักสูตร)
คู่มือที่สมบูรณ์ในระบบเปิดแหล่งที่มา จาก 49 €
PHP (หลักสูตร) PHP (หลักสูตร)
หลักสูตรเต็มสำหรับการสร้างเว็บไซต์แบบไดนามิก จาก 49 €
Ruby และ Ruby on Rails (หลักสูตร) Ruby และ Ruby on Rails (หลักสูตร)
สร้างโปรแกรมซอฟต์แวร์และเว็บด้วยทับทิมและ ร. จาก 39 €
ลิงก์ผู้สนับสนุน