Opičí náplast

Monkey patch ( monkey patch ) - v programování možnost měnit metody a hodnoty atributů třídy programu během jeho provádění ( runtime ). Technologie může být použita v mnoha dynamických programovacích jazycích ( JavaScript , Perl , PHP , Python , Ruby , Lua ).

Původ názvu metody

Pojem "opičí patch" pochází z původního termínu "guerilla patch " ( guerilla patch ), který znamenal nenápadnou záměnu kódu během provádění programu. Slovo guerilla (partyzán) se shoduje se slovem gorila (gorila), a tak se výraz z „guerilla patch“ změnil na „gorilla patch“ a následně na „monkey patch“.

Přesná definice a míra negativity termínu závisí na programovacím jazyku, ve vztahu ke kterému je používán. V Ruby, Pythonu a mnoha dalších dynamických programovacích jazycích se tedy termín „opičí záplata“ používá pouze v souvislosti s dynamickou změnou tříd nebo modulů, například za účelem opravy chyby nebo přidání nové funkce v externím kódu. Stejný přístup v jiných programovacích jazycích může být nazýván odlišně, například „horké opravy“ ( hot fix ).

Aplikace

Potenciální problémy

Použití takového přístupu navíc porušuje princip zapouzdření objektově orientovaného programování .

Odkazy