เริ่ม Symfony ด่วน DI (พึ่งพาการฉีด) การสอน
คืออะไร พึ่งพาการฉีด (DI)?
ฉีดพึ่งพาเป็นเทคนิคที่ช่วยให้สำหรับวัตถุคู่อย่างอิสระภายในโปรแกรมซอฟต์แวร์ โดยทั่วไปถ้าวัตถุต้องเข้าถึงฟังก์ชันการทำงานของผู้อื่นก็จะถูก instantiated ภายในที่นำไปสู่ระบบคู่แน่น โดยการดำเนินการฉีดพึ่งพาเราฉีดวัตถุที่จำเป็นพร้อมใช้งาน (บางครั้งยังเรียกผกผันของการควบคุม -- IOC) ใช้ตัวอย่างต่อไปนี้
<? PHP DecisionMaker คลาส { makeDecision ทำงานสาธารณะ ($ array พารามิเตอร์) { / Need / อะแดปเตอร์ฐานข้อมูล $ DP = ใหม่ DecisionParameters (); $ parameterScore = $ DP -> getScore ($ พารามิเตอร์); / * ... ตรรกะการตัดสินใจบางอย่างเพิ่มเติม ... * / กลับ ($ parameterScore> 50); } }
ชิ้นส่วนของรหัสนี้จะกล่าวได้ว่าเป็นคู่แน่นกับวัตถุที่ DecisionParameters เขียนใหม่ดังกล่าวข้างต้นในแฟชั่นคู่อย่างอิสระที่เราต้องการได้สิ่งที่ต้องการ ...
<? PHP DecisionMaker คลาส { ส่วนตัว $ _dp; ฟังก์ชั่น __construct สาธารณะ ($ DP) { $ this -> _dp = $ DP; } makeDecision ทำงานสาธารณะ ($ array พารามิเตอร์) { $ parameterScore = $ this -> _dp -> getScore ($ พารามิเตอร์); / * ... ตรรกะการตัดสินใจบางอย่างเพิ่มเติม ... * / กลับ ($ parameterScore> 50); } }
ขณะที่การดึงดูดประโยชน์ของรหัสคู่อย่างอิสระเราจะเพิ่มความซับซ้อนดังกล่าวว่าแต่ละครั้งที่วัตถุเป็น instantiated เรายังมีการ instantiate การอ้างอิงและผ่านเหล่านี้ในเกินไป ตัวอย่างเช่นนี้
$ = DecisionMaker ทางเลือกใหม่ (); echo $ ตัวเลือก> makeDecision (array ('ความพยายาม'=>'ต่ำ','กลับ'=>'สูง'));
ตอนนี้กลายเป็น :
$ DP = ใหม่ DecisionParameters (); $ ทางเลือกใหม่ = DecisionMaker ($ DP); echo $ ตัวเลือก> makeDecision (array ('ความพยายาม'=>'ต่ำ','กลับ'=>'สูง'));
สถานการณ์นี้จะกลายเป็นเจ็บปวดมากขึ้นเป็นตัวเลขของการอ้างอิงสำหรับชั้นเรียนที่เพิ่มขึ้นและสิ่งที่ถ้าการอ้างอิงตัวเองมี dependencies? นี้ค่อนข้างได้อย่างรวดเร็วสามารถกลายเป็นฝันร้ายของการบริหารจัดการวัตถุ! ใส่ภาชนะบรรจุฉีดพึ่งพา (หรือกรอบ) ...
อ่านต่อ'เริ่มต้น Symfony ด่วนสอน DI (พึ่งพาการฉีด)'»
















































