หมายเหตุ: สิ่งนี้ได้ถูกเขียนใหม่อย่างสมบูรณ์จากตัวอย่างก่อนหน้าของฉัน
คิดเกี่ยวกับซ็อกเก็ตพลังงาน ในประเทศใดก็ตามนโยบายระดับสูงคือซ็อกเก็ตพลังงานเหมือนกันเสมอ ไม่สำคัญว่าคุณจะรับกระแสไฟฟ้าจากที่ใด (ถ่านหิน, แก๊ส, นิวเคลียร์) ช่องเสียบบนผนังควรดับไฟในปริมาณเท่ากันผ่านชุดเชื่อมต่อชุดเดียวกัน
ตอนนี้คุณสามารถเสียบอุปกรณ์ใด ๆ ลงในซ็อกเก็ตนั้นได้เพราะพวกเขาทั้งหมดมีอินเตอร์เฟซทั่วไปคือ "ปลั๊ก" นโยบายระดับสูงไม่จำเป็นต้องกำหนดส่วนใดส่วนหนึ่งของรายละเอียดการใช้งานนั้น เพียงแค่เสียบปลั๊กบางอย่างแล้วมันจะไป
ตอนนี้ถ้าคุณมีอุปกรณ์ที่ไม่ต้องการไฟ AC - บางทีมันอาจทำงานบนวงจร 7V DC - คุณยังคงสามารถใช้นโยบายระดับสูงนั้นได้คุณเพียงแค่ต้องใช้อะแดปเตอร์ระหว่างแหล่งจ่ายไฟและอุปกรณ์ และเนื่องจากทุกคนมีนโยบายระดับสูงเดียวกันผู้ผลิตจึงสามารถสร้างสิ่งนั้นขึ้นมาใช้งานได้โดยไม่ต้องเปลี่ยนแปลงนโยบายระดับสูง บุคคลที่เชื่อมต่อการใช้งานกับนโยบาย (คุณเสียบแล็ปท็อปของคุณ) ไม่จำเป็นต้องเข้าใจเช่นกัน
เพิ่มเติมหากผู้ผลิตต้องการขายอุปกรณ์เดียวกันในประเทศอื่นสิ่งที่พวกเขาต้องทำคือพัฒนาอะแดปเตอร์ที่แตกต่างกัน ดังนั้นการนำไปปฏิบัติเดียวกันสามารถทำงานได้กับหลายนโยบายในขณะที่นโยบายเดียวกันสามารถเรียกใช้การใช้งานได้หลายอย่าง
นี่คือตัวอย่างที่สมบูรณ์แบบของการผกผันของการพึ่งพา
แต่นี่เป็นบิตที่น่าสนใจ: กลับไปที่สิ่งที่ฉันพูดครั้งแรก "ไม่สำคัญว่าคุณจะรับกระแสไฟฟ้าจากที่ไหน" นี่เป็นรายละเอียดการใช้งาน นโยบายระดับสูงยังคงมีปลั๊กไฟทั้งหมดที่มีรูปร่างเหมือนกันและปล่อยพลังงานชนิดเดียวกัน รายละเอียดการใช้งานในระดับต่ำเป็นทั้งที่มาจากไฟฟ้าและสิ่งที่มันทำงาน
ในแง่การเขียนโปรแกรมนั่นหมายถึงนโยบายระดับสูงคืออินเทอร์เฟซ (ซึ่งภาษารองรับรูปแบบ DI อีกรูปแบบหนึ่งคือการพิมพ์แบบเป็ด) ที่ API จัดเตรียมไว้และแอปพลิเคชันจะสิ้นเปลือง แอปพลิเคชั่นที่ใช้มันและ API นั้นไม่จำเป็นต้องเข้าใจซึ่งกันและกัน
อาจใช้อะแดปเตอร์เพื่อให้เหมาะกับการใช้งานเดียวกันกับนโยบายที่แตกต่างกัน