1700448051
1700448052
}
1700448053
1700448054
//实现接口中定义的方法
1700448055
1700448056
public void request(){
1700448057
1700448058
before();
1700448059
1700448060
subject.request();
1700448061
1700448062
after();
1700448063
1700448064
}
1700448065
1700448066
//预处理
1700448067
1700448068
private void before(){
1700448069
1700448070
//do something
1700448071
1700448072
}
1700448073
1700448074
//善后处理
1700448075
1700448076
private void after(){
1700448077
1700448078
//do something
1700448079
1700448080
}
1700448081
1700448082
}
1700448083
1700448084
这是一个简单的静态代理。Java还提供了java.lang.reflect.Proxy用于实现动态代理:只要提供一个抽象主题角色和具体主题角色,就可以动态实现其逻辑的,其示例代码如下:
1700448085
1700448086
//抽象主题角色
1700448087
1700448088
interface Subject{
1700448089
1700448090
//定义一个方法
1700448091
1700448092
public void request();
1700448093
1700448094
}
1700448095
1700448096
//具体主题角色
1700448097
1700448098
class RealSubject implements Subject{
1700448099
1700448100
//实现方法
[
上一页 ]
[ :1.700448051e+09 ]
[
下一页 ]