*

  • dinamik dillerde * kaynak kodu ellemeden runtime koda mudahale eden patch'ler. runtime sirasinda direkt hafizadaki nesnelere mudahale etmek ya da guvenlik guncellemeleri dinamik olarak uygulamak icin * ya da 3.cu parti bir urunun kaynak koduna el surmeden davranisini degistirmek icin kullanilir.

    ozellikle python ve ruby camiasi arasinda yanlis anlasildigi icin (python'da monkey patching sadece runtime'daki bir sinifta kullanilan metodlarda duzgun calismayan bir bug'a ya da feature'a workaround olarak uygulanirken, ruby'de runtime'daki herhangi bir sinifa uygulanan patch, monkey patch olarak adledilmektedir.), ruby camiasinda monkey patching'e duck punching denilmektedir.

    her halikarda monkey patch bela bir istir, cunku maintain edilmesi cok zordur. eger iki modul ayni metoda monkey patch uygulayacaksa en son calisan kazanir. ya da monkey patch attiginiz kod yeni surumde degismisse kirilabilir/cakisabilir. kod maintain etmek zaten rezalet bir isken * herhangi bir sorunda monkey patch'i cozmek icin maymundan betere donersiniz..
  • bunu hayatinda bir kere yapmamis insan programci degildir, yemisim dinamik dilleri.
  • en keyifli kullanim alanlarindan birisi oyunlardir. evet. bildigin oyun. ram'de bonusunu falan yukseltirsin mis gibi.
  • bazı kaynaklarda javascript olanı için adı duck punching olarak da geçmektedir.
hesabın var mı? giriş yap