您的位置:首页 > 其它

静态代理模式

2015-10-21 23:29 232 查看
代理模式: Proxy,为其他对象提供一种代理以控制对这个对象的访问

代理模式说白了就是“真实对象”的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途

代理在生活中也非常多,例如中介,代购,非诚勿扰等等

interface Subject{//代理的接口
public void shopping();
}

public class Test() {//被代理人类
SuperMan man = new SuperMan();
Proxy proxy = new Proxy(man);
proxy.shpping();//代理可以在你做正式业务的时候做之前和之后的事情,可以在做之前对是否正式进行业务做条件判断
//在做权限管理的时候经常会用到,比如一个类实现加关注的功能,但是这个功能必须要登录后才可以,我们就可以通过代理类去判断用户是否登录,从而决定接下来是否	可以加关注,这样我们的被代理类就可以关注业务本身,不需要做额外的工作
}
class SuperMan implements Subject{
private String name;
public void shopping() {
//如果没有代购,需要自己在网上查找资料,做很多评估工作
//找了代购,就不需要自己做了
System.out.println("为媳妇从网络上购买进口物品");
}
}
class Proxy implements Subject {//代理人类
private Subject target;//被代理人
public Proxy(Subject target) {
this.target = target;
}
public void shopping() {
//代购之前要做的事情
System.out.println("做大量的商品评估");
target.shoping();//被代理人真正的业务
//代购之后要做的事情
System.out.println("代购之后的客户满意度调查");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: