代理设计模式是在Java开发中使用的较多的一种设计模式。所谓代理设计模式是指一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其它相关业务的处理。好比生活中经常使用到的代理上网,客户通过网络代理连接网络,由代理服务器完成用户权限,访问限制等与上网相关的操作。
interface Network {
public void browse();
}
class Real implements Network {
public void browse() {
System.out.println("上网浏览信息。");
}
}
class Proxy implements Network { //代理上网
private Network network;
public Proxy(Network network){ //设置代理的真实操作
this.network = network;
}
public void check() { //与具体上网的相关操作
System.out.println("检查用户是否合法");
}
public void browse() {
this.check(); //可以调用多个与具体业务相关的操作
this.network.browse; //调用真实上网操作
}
}
public class TestProxy {
public static void main(String args[]) {
Network net = null;
net = new Proxy(new Real()); //实例化代理,同时传入代理的真实操作
net.browse(); //客户只关心上网浏览功能,其他由代理完成
}
}