คำว่า "wrapper" และ "shim" มีความหมายเหมือนกันมากหรือน้อยหรือมีความแตกต่างซึ่งอาจเป็นความหมายแฝง
คำว่า "wrapper" และ "shim" มีความหมายเหมือนกันมากหรือน้อยหรือมีความแตกต่างซึ่งอาจเป็นความหมายแฝง
คำตอบ:
shim เป็นสิ่งที่เขียนโดยเฉพาะเพื่อรักษาความเข้ากันได้ย้อนหลัง ตัวอย่างเช่นหากคุณมี API สองเวอร์ชันคือเวอร์ชัน 1 และเวอร์ชัน 2 แทนที่จะเก็บรักษาเวอร์ชัน 1 เป็นอิสระจากเวอร์ชัน 2 คุณอาจเขียนshimที่ขัดขวางการเรียกไปยังเวอร์ชัน 1 ของ API แปลพารามิเตอร์เป็นเวอร์ชันใด 2 ต้องใช้แล้วส่งคืนผลลัพธ์
โดยทั่วไปแล้ว shim ถูกเขียนโดยผู้ให้บริการของ API แทนที่จะเป็นผู้บริโภค
wrapper นั้นเขียนโดยconsumerของ API และโดยทั่วไปแล้วจะถูกเขียนเพื่อให้คุณสามารถสลับ API พื้นฐานโดยไม่ต้องรู้ว่าโค้ดที่เหลืออยู่ของคุณ ตัวอย่างเช่นคุณอาจเขียน wrapper ฐานข้อมูลเพื่อให้คุณสามารถพูดคุยกับ MS SQL Server หรือ Oracle เพียงแค่สลับ wrappers
แน่นอนเช่นเดียวกับคำศัพท์ใด ๆ มีพื้นที่สีเทา แต่ฉันคิดว่าข้างต้นครอบคลุมความแตกต่างที่สำคัญ