1700460100
1700460101
代码清单12-6 抽象主题类
1700460102
1700460103
public interface Subject{
1700460104
1700460105
//定义一个方法
1700460106
1700460107
public void request();
1700460108
1700460109
}
1700460110
1700460111
在接口中我们定义了一个方法request来作为方法的代表,RealSubject对它进行实现,如代码清单12-7所示。
1700460112
1700460113
代码清单12-7 真实主题类
1700460114
1700460115
public class RealSubject implements Subject{
1700460116
1700460117
//实现方法
1700460118
1700460119
public void request(){
1700460120
1700460121
//业务逻辑处理
1700460122
1700460123
}
1700460124
1700460125
}
1700460126
1700460127
RealSubject是一个正常的业务实现类,代理模式的核心就在代理类上,如代码清单12-8所示。
1700460128
1700460129
代码清单12-8 代理类
1700460130
1700460131
public class Proxy implements Subject{
1700460132
1700460133
//要代理哪个实现类
1700460134
1700460135
private Subject subject=null;
1700460136
1700460137
//默认被代理者
1700460138
1700460139
public Proxy(){
1700460140
1700460141
this.subject=new Proxy();
1700460142
1700460143
}
1700460144
1700460145
//通过构造函数传递代理者
1700460146
1700460147
public Proxy(Object……objects){
1700460148
1700460149
}
[
上一页 ]
[ :1.7004601e+09 ]
[
下一页 ]