พูดคุยเกี่ยวกับการฉีดพึ่งพา
ในการเขียนโปรแกรมเชิงวัตถุปัญหาที่เรามักจะจัดการคือ decoupling การเชื่อมต่อของโปรแกรมลดลงแสดงถึงความสามารถในการอ่านและการบำรุงรักษาของโปรแกรมได้ การผกผันของการควบคุม (การผกผันของการควบคุมหรือ IOC) เป็นหลักการออกแบบที่ใช้กันทั่วไปของการเขียนโปรแกรมเชิงวัตถุ การใช้หลักการนี้เราสามารถลดการมีเพศสัมพันธ์ได้ ในหมู่พวกเขาการฉีดพึ่งพาอาศัยกันคือการใช้งานการผกผันควบคุมที่ใช้กันมากที่สุด
การพึ่งพาคืออะไร
การพึ่งพาเป็นปรากฏการณ์ทั่วไปในโปรแกรม ตัวอย่างเช่นพลังงานอินสแตนซ์ของคลาส Gasenergy ใช้ในรถคลาส การปฏิบัติตามปกติคือการสร้างอินสแตนซ์ของคลาส Gasenergy ในคลาสรถอย่างชัดเจนและมอบหมายให้พลังงาน ดังที่แสดงในรหัสต่อไปนี้
Interface Energy {} Class Gasenergy ใช้พลังงาน {} รถคลาส {Energy Energy = new Gasenergy ();}มีปัญหา
รถยนต์ชั้นเรียนมีความรับผิดชอบที่ไม่จำเป็นและรับผิดชอบในการสร้างวัตถุพลังงานซึ่งย่อมมีการมีเพศสัมพันธ์อย่างจริงจัง เพื่อยกตัวอย่างที่เป็นจริงมันเป็นความรับผิดชอบของรถที่จะใช้พลังงานที่รถใช้ไม่ได้ขึ้นอยู่กับรถ แต่ในผู้ผลิตรถยนต์
ความสามารถในการปรับขนาด สมมติว่าเราต้องการปรับเปลี่ยนพลังงานให้เป็นพลังงานไฟฟ้าจากนั้นเราจะต้องปรับเปลี่ยนระดับรถซึ่งเห็นได้ชัดว่าไม่สอดคล้องกับหลักการปิดการเปิด
ไม่เอื้อต่อการทดสอบหน่วย
การฉีดพึ่งพา
การฉีดพึ่งพาเป็นพฤติกรรมเช่นนี้ ในรถคลาสวัตถุ Gasenergy ไม่ได้ถูกสร้างขึ้นอย่างแข็งขัน แต่การพึ่งพานั้นถูกตั้งค่าโดยส่งผ่านในรูปแบบวัตถุ Gasenergy จากภายนอก มีสามวิธีทั่วไปในการฉีดพึ่งพา
การฉีด
ผ่านการพึ่งพาที่ต้องการเป็นพารามิเตอร์ของคอนสตรัคเตอร์เพื่อการฉีดพึ่งพาให้เสร็จสมบูรณ์
รถคลาส {Energy Menergy; รถยนต์สาธารณะ (พลังงานพลังงาน) {menergy = พลังงาน; -วิธีการฉีด
เพิ่มวิธีการตั้งค่าพารามิเตอร์คือการพึ่งพาที่ต้องฉีดและการฉีดพึ่งพาสามารถเสร็จสิ้นได้
รถคลาส {Energy Menergy; โมฆะสาธารณะ setenergy (พลังงานพลังงาน) {menergy = พลังงาน; -การฉีดอินเทอร์เฟซ
การฉีดอินเทอร์เฟซนั้นชัดเจนในตัวเองมันคือการสร้างชุดของอินเตอร์เฟสสำหรับการฉีดพึ่งพาและการพึ่งพาจะส่งผ่านเป็นพารามิเตอร์และการฉีดพึ่งพาการใช้งานเฉพาะการดำเนินการเสร็จสมบูรณ์โดยการเรียกอินเทอร์เฟซแบบครบวงจร
Interface EnergyConsumerInterface {โมฆะสาธารณะ setenergy (พลังงานพลังงาน);} รถคลาสใช้ EnergyConsumerInterface {Energy Menergy; โมฆะสาธารณะ setenergy (พลังงานพลังงาน) {menergy = พลังงาน; -การฉีดอินเทอร์เฟซนั้นคล้ายคลึงกับการฉีดวิธีการตั้งค่าความแตกต่างคือการฉีดอินเทอร์เฟซใช้วิธีการรวมเพื่อให้การฉีดเสร็จสมบูรณ์ในขณะที่ชื่อวิธีการฉีดวิธีการตั้งค่าค่อนข้างไม่เป็นทางการ
กรอบการแลกเปลี่ยน
มีเฟรมเวิร์กมากมายสำหรับการฉีดขึ้นอยู่กับการพึ่งพาซึ่งมีชื่อเสียงที่สุดคือ Guice แน่นอนสปริงยังรองรับการฉีดพึ่งพา Guice ใช้คำอธิบายประกอบการอ่านรันไทม์สร้างการพึ่งพาและฉีดผ่านการสะท้อน แบบฟอร์มนี้ไม่เหมาะสำหรับอุปกรณ์มือถือ Android ท้ายที่สุดการดำเนินการเหล่านี้จะถูกประมวลผลที่รันไทม์และมีข้อกำหนดด้านประสิทธิภาพสูง
กริชเป็นห้องสมุดฉีดพึ่งพาที่เหมาะสมสำหรับการพัฒนา Android นอกจากนี้ยังใช้รูปแบบของคำอธิบายประกอบชั้นเรียน ความแตกต่างคือมันสร้างคลาสเสริมในเวลาคอมไพล์และรอจนกว่าคลาสเสริมที่สร้างขึ้นจะใช้เพื่อการฉีดพึ่งพาการพึ่งพาเสร็จสมบูรณ์ในเวลาทำงาน
ใช้หรือไม่
ในความเป็นจริงไม่ว่าจะใช้หรือไม่ใช้เฟรมเวิร์กเป็นปัญหา หากคุณใช้เฟรมเวิร์กทุกคนในทีมจะต้องทำตามคำแนะนำในการเขียนโค้ดเพื่อแก้ปัญหาการฉีดพึ่งพา เฟรมเวิร์กเหล่านี้ไม่ใช่เรื่องง่ายที่จะเริ่มต้นและค่าสัมประสิทธิ์การเรียนรู้ค่อนข้างซับซ้อนและยากที่จะเชี่ยวชาญซึ่งเป็นปัญหาที่ต้องพิจารณา
ความเห็นส่วนตัวของฉันคือเราไม่แนะนำหรือคัดค้านการใช้เฟรมเวิร์กเหล่านี้ แต่ฉันรู้สึกว่าบางครั้งเราหวังว่าจะมีกรอบดังนั้นจึงเป็นการดีกว่าที่จะให้ความสนใจกับปัญหาเหล่านี้ในชีวิตประจำวันของเรา การหลีกเลี่ยงเทียมไม่ได้เป็นข้อกำหนดพื้นฐานสำหรับตัวเราเองหรือไม่?
การค้นหาการพึ่งพา
การค้นหาการพึ่งพาคือการดำเนินการเฉพาะของหลักการการผกผันการควบคุมซึ่งแตกต่างจากการยอมรับแบบพาสซีฟของการฉีดพึ่งพาการค้นหาการพึ่งพาอาศัยกันเป็นคำขอที่ใช้งานอยู่ เมื่อจำเป็นวัตถุจะได้รับโดยการเรียกใช้วิธีการที่จัดทำโดยเฟรมเวิร์ก เมื่อได้รับพา ธ ไฟล์การกำหนดค่าที่เกี่ยวข้องคีย์และข้อมูลอื่น ๆ จะต้องใช้เพื่อกำหนดสถานะของวัตถุที่ได้รับ
ข้างต้นเป็นการแนะนำรายละเอียดเกี่ยวกับข้อมูลเกี่ยวกับการฉีดขึ้นอยู่กับการพึ่งพา เราจะยังคงเพิ่มข้อมูลที่เกี่ยวข้องในอนาคต ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!