Kishan Mehta
Kishan Mehta

Reputation: 2678

Is decorators in python example of monkey patching technique?

Recently I was reading about monkey patching technique and wondered if it can be said.

Upvotes: 2

Views: 1922

Answers (2)

Bryan Oakley
Bryan Oakley

Reputation: 385970

I suppose on some grammatical level they may be equivalent. However, decorators are applied at the time a function or class is defined, and monkeypatching modifies an object at runtime, making them very different both in spirit and in actual use.

Upvotes: 2

freakish
freakish

Reputation: 56467

Decorator = a function that takes a function as an argument and returns a function

Monkey patching = replacing a value of a field on an object with a different value (not necessarly functions)

In case of functions monkey patching can be performed via a decorator. So I guess decorator might be thought as an example of monkey patching. However commonly monkey patching refers to altering behaviour of a 3rd party library. In that case decorators are less useful.

Upvotes: 8

Related Questions