ฉันเคยประสบกรณีที่จะมีประโยชน์ในการ จำกัด การเข้าถึง API ของไลบรารีภายนอกและกรอบงานเพื่อป้องกันผลกระทบด้านลบในระบบ
ตัวอย่างเช่นในแอปพลิเคชัน SharePoint อาจดูเหมือนเป็นเรื่องปกติที่จะเรียกspList.Items.GetItemById
เพื่อรับรายการแม้ในวงวนโดยไม่ทราบว่าสิ่งนี้สามารถนำไปสู่ปัญหาประสิทธิภาพการทำงานขนาดใหญ่ได้
อาจเป็นไปได้ว่าเราต้องห้ามการใช้ SmtpClient เพื่อบังคับให้ทุกคนใช้คลาสของเราในการส่งอีเมลเพื่อให้แน่ใจว่าเราสามารถใช้พร็อกซีและเยาะเย้ยทางอีเมลได้อย่างถูกต้องเมื่ออยู่ในสภาพแวดล้อมการทดสอบ
มีวิธีที่เชื่อถือได้และตรงไปตรงมาอย่างสมเหตุสมผลในการบรรลุข้อ จำกัด เหล่านี้ในรหัสภายนอกยกเว้นจากบางสถานที่ในรหัสของเราเองหรือไม่? ไม่จำเป็นที่จะต้องป้องกันการเข้าถึงวิธีการ / ชั้นเรียนเหล่านี้อย่างแน่นอนเช่นโดยการไตร่ตรองหรือปิดการใช้งานบางประเภทมันควรเป็นคำเตือนที่เข้มงวดว่าพวกเขาไม่ควรใช้ บังคับให้โปรแกรมเมอร์ใช้มาตรการเพื่อแก้ไขข้อ จำกัด เหล่านี้หากเป็นไปได้ / จำเป็น