最近我正在阅读猴子修补技术,并想知道是否可以这么说。
答案 0 :(得分:5)
Decorator =一个函数,它将一个函数作为参数并返回一个函数
Monkey patching =用不同的值替换对象上的字段值(不一定是函数)
在函数的情况下,可以通过装饰器执行猴子修补。所以我猜装饰师可能被认为是猴子修补的一个例子。然而,通常猴子修补是指改变第三方库的行为。在那种情况下,装饰器不太有用。
答案 1 :(得分:2)
我认为在一些语法层面上,它们可能是等价的。但是,在定义函数或类时应用装饰器,并且monkeypatching在运行时修改对象,使它们在精神和实际使用中都非常不同。