代理设计模式是在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(); //客户只关心上网浏览功能,其他由代理完成 } }