python 中的装饰器是猴子修补技术的例子吗?
Is decorators in python example of monkey patching technique?
最近在看猴子补丁技术,不知道能不能说出来。
Decorator = 一个以函数作为参数的函数,returns 一个函数
猴子修补 = 用不同的值替换对象上字段的值(不一定是函数)
在函数的情况下,可以通过装饰器执行猴子修补。所以我猜 decorator 可能被认为是猴子修补的一个例子。然而,猴子修补通常指的是改变第 3 方库的行为。在那种情况下,装饰器就没那么有用了。
我想在某些语法层面上它们可能是等价的。但是,装饰器是在定义函数或 class 时应用的,而 monkeypatching 在运行时修改对象,这使得它们在精神和实际使用上都大不相同。
最近在看猴子补丁技术,不知道能不能说出来。
Decorator = 一个以函数作为参数的函数,returns 一个函数
猴子修补 = 用不同的值替换对象上字段的值(不一定是函数)
在函数的情况下,可以通过装饰器执行猴子修补。所以我猜 decorator 可能被认为是猴子修补的一个例子。然而,猴子修补通常指的是改变第 3 方库的行为。在那种情况下,装饰器就没那么有用了。
我想在某些语法层面上它们可能是等价的。但是,装饰器是在定义函数或 class 时应用的,而 monkeypatching 在运行时修改对象,这使得它们在精神和实际使用上都大不相同。