JAVA设计模式实战---代理模式!!!

JAVA设计模式实战---代理模式!!!


1、常用的设计模式有工厂模式、观察者模式、单例模式,装饰模式,门面模式、适配器模式。


2、设计模式最最重要的是代理模式!
如:浏览器是上网的代理。代理模式的特征是Proxy代理端和Stub实现端都实现同样的接口。这样用户使用Proxy端就象使用真


正的Stub端一样,屏蔽了底层细节。Stub是真正的实现,Proxy在内部访问Stub的功能来实现接口。


3、Proxy代理端除了隐藏和简化了对复杂或不方便访问的远程Stub的访问外,Proxy常常会具备一些辅助方法来完成一些非常细


小但极为重要的功能,例如说权限控制,例如获得Stub的执行结果后可以执行结果并回调本地的方法!


4,构造代理对象的时候一般把stub传递进来


package IMF;


public class DesignPatternOps {


public static void main(String[] args) {
// TODO Auto-generated method stub
        Network network =null;
        network = new NetworkProxy(new NetWorkStub());
        network.browse();
}

}




interface Network {   //定义一个接口
public void browse();
}


class NetWorkStub implements Network{ //定义一个Stub实现端 

@Override
public void browse() {  //具体实现浏览功能
// TODO Auto-generated method stub
System.out.println("information from web");
}

}


class NetworkProxy implements Network { //定义一个代理类
   private  Network network;

   public NetworkProxy(Network network){ //构造器,传入stub类
       this.network=network;
   }
   
   @Override
public void browse() {
                login();        //proxy端加入权限功能,控制
network.browse();  //生成实例以后,可以调用stub类的的browse实现
}
   public void login(){
  System.out.println("login..... !");
  
   }

}




运行结果:
login..... !
information from web













你可能感兴趣的:(JAVA设计模式实战---代理模式!!!)