所谓代理模式,就是为其他对象提供一种代理以控制对这个对象的访问,说白了就是真实对象的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途。下面来看下实际操作
interface Action{
public void doAction();
}
class userAction implements Action{
public void doAction(){
for(int i=0;i<100;i++){
System.out.println("开始操作");}
}
}
先定义一个接口及实现类
class ActionProxy implements Action{
private Action target;
public ActionProxy(Action target){
this.target=target;
}
public void doAction(){
long start=System.currentTimeMillis();
target.doAction();//执行真正的业务
long end=System.currentTimeMillis();
System.out.println(end-start);
}
}
然后定义一个代理类,并添加了计算时长的功能,最后测试
public class Test {
public static void main(String args[]){
Action t=new userAction();
ActionProxy action=new ActionProxy( t);
action.doAction();
}
}