ใช่การจับลิงนั้นมีประโยชน์มาก!
อย่างใดชื่อดูเหมือนจะมีอิทธิพลอย่างมากต่อการรับรู้ของผู้คน เรียกว่า "monkeypatch" และฟังดูแย่เรียกว่า "hot fix" หรือ "on-the-fly fix" และฟังดูดี
ฉันคิดว่าความสามารถในการเปลี่ยนเมธอด / คุณลักษณะ / ฟังก์ชั่นที่รันไทม์เป็นสิ่งที่มีประโยชน์มาก แม้แต่คนที่ใช้จาวาสคริปต์ก็ใช้งานได้ตลอดวันโดยที่ไม่รู้ตัว
ตัวอย่างเช่น
button.onclick = function(e) { ...}
บรรทัดง่าย ๆ นี้แสดงให้เห็นถึงความจริงที่ว่าคุณเปลี่ยนพฤติกรรมของปุ่ม มันถูกออกแบบมาอย่างนั้น ในทำนองเดียวกันคุณสามารถปรับเปลี่ยนฟังก์ชั่นอื่น ๆ ทุกอย่าง แต่มันก็โง่ที่จะทำเช่นนั้น
ตอนนี้สำหรับคำถามของการส่งแพทช์ด้วยวิธีที่ ... ดี ... ทำไมไม่ คุณเพียงแค่ต้องดาวน์โหลดตัวปะแก้เล็ก ๆ แทนที่จะปล่อยให้เป็นเรื่องใหญ่ เฮ้คุณสามารถแก้ไขเซิร์ฟเวอร์โดยไม่หยุดได้เยี่ยมเลย! จากนั้นวันหนึ่งคุณสามารถดึงข้อมูลรีลีสล่าสุดสำหรับการอัปเดตที่ใหญ่กว่าได้ ยุติธรรมพอสมควร ใช่ฉันลงคะแนน "runtime patches" เป็นสิ่งที่ดี
น่าสนใจพอบางภาษาเช่น Erlang ยังสร้างต่อยอดจากแนวคิดนี้ ความสามารถในการอัปเดตเซิร์ฟเวอร์ได้ทันที
แน่นอนในที่สุดและชอบทุกอย่างอื่นมันเป็นเรื่องของวิธีการใช้งานของคุณ คุณสามารถทำสิ่ง OO ที่ยอดเยี่ยมและสิ่งที่น่าอับอายมันเหมือนกันทั้งหมด
แก้ไข:
ให้ฉันเพิ่มความแตกต่างของบางกรณีไม่ว่าคุณจะปรับปรุงห้องสมุดของคุณหรือบุคคลที่สามอย่างใดอย่างหนึ่ง
... โดยทั่วไปสิ่งที่คุณทำกับแพทช์ดังกล่าวกำลังแก้ไขข้อผิดพลาดของห้องสมุดของคุณเองหรือของบุคคลที่สาม ในทั้งสองกรณีมันมีประโยชน์ สำหรับตัวคุณเองมันช่วยให้คุณสามารถแก้ไขปัญหาได้ทันที สำหรับบุคคลที่สามคุณอาจรอ (หลายเดือน?) จนกว่าพวกเขาจะแก้ไขด้วยตัวเองหรือตอนนี้คุณทำเอง (คุณยังสามารถส่งแพทช์ให้พวกเขาเพื่อที่พวกเขาจะแก้ไขได้ที่ด้านข้างของพวกเขา) เมื่อพวกเขาปล่อยเวอร์ชัน lib ถัดไปของพวกเขาด้วยปัญหาได้รับการแก้ไขคุณสามารถยังถ้าคุณต้องการอัปเดตห้องสมุดและลบแพทช์ที่ด้านข้างของคุณ
ตอนนี้แน่นอนถ้าคุณใช้แพทช์เพื่อเปลี่ยนพฤติกรรมของ lib และทำให้วัตถุประสงค์ / วิธีการทำงานของมันชัดเจนขึ้นมานั่นเป็นสูตรสำหรับภัยพิบัติ แม้แต่ลิงก็จะเห็นว่า ... เอาละฉันหวังว่า ;)