就其詞源(Etymology)來說,這個合成詞應該是壹種類似於中文的魯魚亥豕:
據 wikipedia,這個詞似乎來自於guerrilla patch,其意思為,在運行時悄悄地引用改變的代碼。結果 guerrilla 變成了gorilla, gorilla 又變成了 monkey,其目的似乎是不想叫補丁那麽過於引人註目。
這個詞的定義還因所用的上下文而有所不同,在 Python 中,僅僅指在運行時根據補丁的意圖以現有的方法對類進行動態修改,對於壹缺陷或者某壹不再符合妳設計的特征在壹外部類中作為壹種變通方法。在運行時對壹個 類進行修改的其他形式,依據其內容不同有不同的名稱。例如,在 Zope 與 Plone 中安全補丁經常是用動態的類修改進行的,但是它們叫做 hot fixes(熱修改)。
在 Ruby 中,意思是對壹個類的任何動態修改,常用作在運行時動態修改任何類的同義語。
在中有些人采用 duck punching 代替 monkey patching,源自於Ruby Python 中動態類型(dynamic typing)的擴充用法。