Форум сайта python.su
Здравствуйте.
Часто встречаю упоминание в сети манки-патчинг. Так вопрос:
Что такое манки-патчинг? Если можно привести простейший пример его кода.
Офлайн
http://en.wikipedia.org/wiki/Monkey_patch
В джанге смотри add_to_class метод
Офлайн
monekey patch это что-то вроде хака. Например пользуешься ты либой superlib, и очень нравится тебе из нее функция superlib.make_cool() , но ты бы хотел что-бы она вела себя немного по-другому. И вместо того, чтобы писать патч , слать автору и т.д. ты просто в своем проекте манки патчишь эту либу примерно так:
import superlib
def new_make_cool():
... тут делаешь что тебе нужно
superlib.make_cool = new_make_cool
.. тут дальше твой основной код
Офлайн
А обратно как вернуть?
Офлайн
prokoptsevЭто же не на всю жизнь, а только внутри твоей программы, пока она работает.
А обратно как вернуть?
Офлайн
Ну почему же. Есть теория, что monkey-patching это на всю жизнь…
Офлайн