/*代理设计模式:
是java中使用较多的设计模式,所谓的代理设计就是指通过一个代理主题来操作真实主题
真实主题执行具体的业务操作,而代理主题负责其他相关事务的处理,就好比生活中经常使用的
代理上网一样,客户通过网络代理连接网络,而代理服务器则完成相关的用户权限,访问限制等上网的具体
上网操作相关的操作,客户只要完成上网的功能
*/
interface Network{ //定义网络接口
public void browse(); //抽象方法-->浏览
}
class Real implements Network{ //Real类实现Network接口
public void browse(){ //覆写抽象方法
System.out.println("上网浏览信息!");
}
};
class Proxy implements Network{ //Proxy类实现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 InterfaceCase04{
public static void main(String args[]){
Network net=null;
net=new Proxy(new Real()); //指定代理操作
net.browse(); //客户只关心上网浏览一个操作
}
};
是java中使用较多的设计模式,所谓的代理设计就是指通过一个代理主题来操作真实主题
真实主题执行具体的业务操作,而代理主题负责其他相关事务的处理,就好比生活中经常使用的
代理上网一样,客户通过网络代理连接网络,而代理服务器则完成相关的用户权限,访问限制等上网的具体
上网操作相关的操作,客户只要完成上网的功能
*/
interface Network{ //定义网络接口
public void browse(); //抽象方法-->浏览
}
class Real implements Network{ //Real类实现Network接口
public void browse(){ //覆写抽象方法
System.out.println("上网浏览信息!");
}
};
class Proxy implements Network{ //Proxy类实现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 InterfaceCase04{
public static void main(String args[]){
Network net=null;
net=new Proxy(new Real()); //指定代理操作
net.browse(); //客户只关心上网浏览一个操作
}
};