Ruby使用Monkey Patch猴子补丁方式进行程序开发的示例
来源:爱站网时间:2020-05-21编辑:网友分享
Monkey Patch在程序运行的时候需要附上代码段,而Monkey Patch的技巧是比较特殊的,今天大家可以通过爱站技术频道介绍的Ruby使用Monkey Patch猴子补丁方式进行程序开发的示例进行学习,希望能对大家有所帮助。
Monkey Patch在程序运行的时候需要附上代码段,而Monkey Patch的技巧是比较特殊的,今天大家可以通过爱站技术频道介绍的Ruby使用Monkey Patch猴子补丁方式进行程序开发的示例进行学习,希望能对大家有所帮助。
词源
Monkey patch 最早被称作 Guerrilla patch,形容这种补丁像游击队员一样狡猾。后来因为发音相似,被称为 Gorilla patch。因为大猩猩不够可爱,后改称为 Monkey patch。
使用场景
以我的理解,Monkey patch 有两种使用场景:
紧急的安全性补丁,即 Hotfix;
修改或扩展库中的属性和方法。
例子:
alias:
class Monkey2
include:
module Helper def help puts "Help..." end def method1 puts "helper method1..." end end class Monkey include Helper def method1 puts "monkey method1..." end end monkey = Monkey.new monkey.help monkey.method1#因为重名,当前类的方法优先
undef:
class Monkey def method1 puts "This is method1" end end class Monkey2
我们还可以使用undef_method或者remove_method实现undef
class Monkey2 remove_method :method1 undef_method :method2 nd
在使用猴子补丁的时候,还应注意如下事项:
1、基本上只追加功能
2、进行功能变更时要谨慎,尽可能的小规模
3、注意相互调用
上述是爱站技术频道小编带给大家的Ruby使用Monkey Patch猴子补丁方式进行程序开发的示例,我们已经见过很多编程的配置,如果说自己学习很麻烦,那么选择一个像爱站技术频道这样的学习平台,这里还有很多知识等待你的发掘。