रूबी और जावास्क्रिप्ट जैसी कुछ भाषाओं में खुले वर्ग हैं जो आपको कोर वर्गों जैसे संख्याओं, तारों, सरणी आदि के इंटरफेस को संशोधित करने की अनुमति देते हैं। जाहिर है ऐसा करने से दूसरों को भ्रमित कर सकते हैं जो एपीआई से परिचित हैं लेकिन क्या इससे बचने का एक अच्छा कारण है अन्यथा, यह मानते हुए कि आप इंटरफ़ेस में जोड़ रहे हैं और मौजूदा व्यवहार को नहीं बदल रहे हैं?क्या वास्तव में वह "बंदर पैचिंग" है?
उदाहरण के लिए, वेब ब्राउज़र पर Array.map कार्यान्वयन को जोड़ना अच्छा लगेगा जो ECMAScript 5 वें संस्करण को लागू नहीं करता है (और यदि आपको सभी jQuery की आवश्यकता नहीं है)। या आपके रूबी सरणी को "इंजेक्ट" का उपयोग करने वाली "योग" सुविधा विधि से लाभ हो सकता है। जब तक आपके सिस्टम में परिवर्तन अलग-अलग होते हैं (उदाहरण के लिए आप वितरण के लिए रिलीज किए गए सॉफ़्टवेयर पैकेज का हिस्सा नहीं हैं) क्या इस भाषा सुविधा का लाभ न लेने का कोई अच्छा कारण नहीं है?
http://en.wikipedia.org/wiki/Monkey_patch#Pitfalls
वहाँ भी बंदर पैचिंग के लिए, सब कुछ के लिए एक समय और जगह है:
एफडब्ल्यूआईडब्ल्यू, रूबी 2.0 में "परिष्करण" नामक कुछ शामिल करने का प्रस्ताव है जो बंदर-पैचिंग से जुड़े नुकसान को कम करेगा। बस "रूबी परिष्करण" के लिए Google, आसपास के कुछ लेख हैं। –
[क्या बंदर बुराई पकड़ रहा है?] (Http://www.singhajit.com/is-ruby-monkey-patching-evil) –