1
การผกผันของการควบคุมเกี่ยวข้องกับการพึ่งพาการผกผันอย่างไร
ในบทความจำนวนมากทั่วทั้งเว็บคำว่า Inversion of Control และ Dependency Inversion Principle ดูเหมือนจะสับสนและถูกนำมาใช้เป็นคำพ้องความหมาย (ความสับสนเพิ่มเติมถูกบังคับใช้โดยเครื่องมือที่เรียกว่า "ตู้คอนเทนเนอร์ DI" และ "IoC บทความ Wikipediaทำงานได้ดีมากที่พยายามอธิบายว่า IoC นั้นไม่เหมือนกับ DI: inversion of control (IoC) อธิบายถึงการออกแบบที่ส่วนที่กำหนดเองของโปรแกรมคอมพิวเตอร์ได้รับการไหลของการควบคุมจากไลบรารีทั่วไปที่สามารถใช้ซ้ำได้ ดังนั้น DIP จึงเกี่ยวกับการมีโมดูลของคุณขึ้นอยู่กับ abstractions มากกว่าการใช้งานที่เป็นรูปธรรม และ IoC กำลังควบคุมการไหลของโปรแกรมของคุณไปยังโมดูลอื่น และสิ่งหนึ่งที่คุณสามารถมีโมดูลนี้คือแก้ไขการพึ่งพาที่รันไทม์ ความแตกต่างนี้ดูยุติธรรม แต่ฉันไม่เคยเห็นใครพูดถึงแอปพลิเคชันอื่น ๆ ของหลักการ IoC นอกเหนือจากการแก้ไขการพึ่งพา คำจำกัดความของ Wikipedia นั้นค่อนข้างกว้างและดูเหมือนว่าคุณสามารถทำได้มากขึ้นด้วยโมดูลที่สามารถโทรเข้ารหัสที่กำหนดเองตามการกำหนดค่าและตรรกะภายในบางอย่าง ดังนั้นนี่เป็นคำถามที่ฉันยังไม่สามารถเข้าใจได้: ความสัมพันธ์ที่แท้จริงระหว่าง IoC และกรมทรัพย์สินทางปัญญาคืออะไร? IoC ทำหน้าที่เป็นเครื่องมือในการดำเนินการของ DIP หรือไม่? …