Skip to content

MethodBox · 方法调用封装 ​

MethodBox 是一个轻量值对象,把「方法 + 调用者 + 参数」三件套打包,方便在 MethodProxy 内部传递和延迟调用。

字段 ​

字段类型含义
methodMethod要调用的方法
whoObject调用目标(真实服务对象)
argsObject[]参数数组

方法 ​

方法作用
call()反射执行 method.invoke(who, args),抛 InvocationTargetException
callSafe()同上但吞掉异常,返回 null

用途 ​

MethodProxy.call(who, method, args) 收到这三件套后,有时不想立刻调用原方法(要先改参数、做条件判断、或转发到别处)。MethodBox 把它们封装起来,可以在逻辑里传来传去,最后再 call()。

调用封装与延迟执行 ​

java
@Override
public Object call(Object who, Method method, Object... args) {
    MethodBox box = new MethodBox(method, who, args);
    // 改参数、做判断...
    return box.call();  // 最终放行原方法
}

关联 ​

基于 VirtualApp 与 epic,仅供学习研究。VirtualApp 禁止商用。