Evet, maymun sıçraması çok faydalı!
Her nasılsa, isimler insanların algısı üzerinde oldukça etkili görünüyor. "Monkeypatch" deyin ve kulağa kötü geliyor, "hot fix" veya "on-fly-fix" deyin ve kulağa hoş geliyor.
Bundan bağımsız olarak, çalışma zamanında yöntemleri / nitelikleri / işlevleri değiştirme yeteneğinin çok yararlı olduğunu düşünüyorum. Javascript kullanıcıları bile bilmeden bütün gün kullanıyorlar.
Örneğin:
button.onclick = function(e) { ...}
Bu basit çizgi, düğmenin davranışını değiştirdiğinizi gösterir. Bu şekilde tasarlandı. Benzer şekilde, diğer tüm işlevleri de değiştirebilirsiniz, ancak bunu yapmak aptalca olur.
Şimdi, yamaları bu şekilde iletme sorusu için ... iyi ... neden olmasın. Büyük bir sürüm yerine küçük bir yama indirmeniz gerekiyor. Heck, bir sunucuyu durdurmadan bile yama yapabilirsiniz, harika! Ve bir gün, daha büyük bir güncelleme için en son sürümü de getirebilirsiniz. Yeterince adil. Evet, iyi bir şey olarak "çalışma zamanı yamaları" için oy kullanıyorum.
İlginç bir şekilde, Erlang gibi bazı diller bu kavramın etrafında inşa edildi. Sunucuyu anında güncelleme yeteneği.
Tabii ki, sonunda ve diğer her şeyde olduğu gibi, onu nasıl kullandığınızla ilgili bir mesele. Harika OO ve boktan şeyler yapabilirsiniz, hepsi aynı.
DÜZENLE:
İster kendi kütüphanenizi ister üçüncü taraf bir kütüphaneyi yamalayın, biraz vaka ayrımı ekleyeyim .
... temel olarak, böyle bir yama ile yaptığınız şey , kendi veya bir üçüncü taraf kütüphanesinin bir hatasını düzeltmektir . Her iki durumda da faydalıdır. Kendi başınıza, anında bir düzeltme sunmanıza olanak tanır. Üçüncü taraf bir kişi için, ya kendi başlarına çözene kadar beklerler (birkaç ay mı?), Ya da şimdi kendi başınıza yaparsınız. (yine de onlara yama gönderebilirsiniz, böylece kendi taraflarına sabitleyecekler). Sorun çözüldükten sonra bir sonraki lib sürümlerini serbest bıraktıklarında , kütüphaneyi güncellemek ve yanınızdaki yamayı kaldırmak istiyorsanız yine de yapabilirsiniz .
Şimdi, elbette, bir lib'in davranışını değiştirmek ve amacını / çalışma şeklini yabancılaştırmak için bir yama kullanırsanız, bu açıkça bir felaket tarifi. Bir maymun bile bunu görecekti ... umarım. ;)