`
hqman
  • 浏览: 353409 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

钩子方法 HookMethod

阅读更多
            钩子(hook)是之前开发当中经常提及的一个词,wiki 上的一个定义:HookMethod 是定义在模版类中一个方法的调用HookMethod,而此方法又可以被 模版类子类覆盖,子类可以决定具体的操作 .
 
  1. public class Algorithm {  
  2.     public void templateMethod() {  
  3.             :  
  4.             .  
  5.         hookMethod();  
  6.             .  
  7.             :  
  8.     }  
  9.   
  10.     public void hookMethod() {  
  11.         // default implementation  
  12.     }  
  13. }  
  14.   
  15. public class RefinedAlgorithm extends Algorithm {  
  16.     public void hookMethod() {  
  17.         // refined implementation  
  18.     }  
  19. }  
分享到:
评论
1 楼 wutao8818 2007-09-09  
看明白了。说的很直白,今天是从
http://exvision.iteye.com/blog/post/355213的blog上发现了你的足迹,还真能跑啊。

相关推荐

    [hook.js]通用Javascript函数钩子

    methodName[String|opt]:匿名函数需显式传入目标函数名eg:this.Begin = function(){....}; } [bool]unhook:params{ realFunc[String|must]:用于保存原始函数的函数名称,用于unHook; funcName[String|must]:被Hook...

    ZHookLib:android dalvik的java方法钩子库

    类: 挂钩方法: public static MethodHook.Unhook hookMethod(Member hookMethod, MethodHook callback) public static Set<MethodHook> hookAllMethods(Class<?> hookClass,String methodName, MethodHook ...

    深入理解java虚拟机第二版源码-MethodHook:钩子java方法

    深入理解java虚拟机 第二版 ...结构体替换成新方法的结构体,那么执行原方法的时候便会执行到新方法的指令,完成了方法替换。 Andfix 中的关键代码如下: public static void addReplaceMethod(Meth

    MsgInfo V1.00 察看当前进程中消息的控件

    设置钩子类型7、Activate: 是否激活钩子(三)、方法1、AddDefineHwnd(): 加入的句柄为允许(禁止)显示消息的窗体句柄(可加入多个)2、Clear: 清空消息信息(四)、事件HookMethod: 可以在此事件中自行处理钩子,钩子...

    garfio:Garfio 帮助您在 ruby​​ 对象中构建钩子

    只需几行代码,一个方法编译,没有猴子补丁,也没有method missing Garfio 允许您在运行方法之前和之后立即启动回调。 安装 安装 Garfio 就像运行一样简单: $ gem install garfio 使用 gem 'garfio' 将 Garfio ...

    tiny_hooks:定义钩子的小宝石。 对库开发人员有用

    小钩 定义钩子的小宝石。 安装 将此行添加到您的应用程序的Gemfile中: gem 'tiny_hooks' 然后执行: $ bundle install ...# => "my before hook\nmy method\n" 当类/模块是您的库的基类/模块并且您的用

    ObjcHook4pod:修改CocoaPods的代码

    将目标文件复制到项目中,在需要替换的ClassName和MethodName之后添加后缀'_hook4pod',此方法将替换您的目标方法。 解决了在CocoaPods中修改文件的困难,您甚至可以更改目标的超类。 Original File Class : Super...

    octogate:Github钩子代理服务器

    八门 Sinatra Framework 的 Github hook 代理服务器。... token "token_string"target "jenkins" do hook_type [ :push ] url "http://targethost.dev/job/JobName" http_method :post parameter_type :query par

    DDetours:Delphi绕行库

    DDetours是一个库,可让您挂接Delphi和Windows API函数。 它提供了一种简单的插入和移除挂钩的方法。 2.2版有哪些新功能? 支持FPC和较早的Delphi版本,特别... 通过MethodName或MethodIndex支持挂钩接口方法。 支持

    IMESupport:Sublime Text 3 Windows 下拼音输入法支持

    这个插件就是利用 st 的 api 接口和 Windows 的 hook (钩子) 机制,用 hackable (一种无奈且并不优雅) 的方式让 st 支持 IME (或者说 IMM/Input Method Manager)。 插件的主要操作分为两步: 在光标位置改变时,通过 ...

    electric-case:插入不带“Shift”的camelCase、snake_case单词

    (add-hook 'java-mode-hook 'electric-case-java-init)例如,当您在 java-mode 中键入以下内容时, public class test-class{ public void test-method(void){electric-case自动将其转换为: public class Test...

Global site tag (gtag.js) - Google Analytics