代理模式-接口应用


代理模式是Java开发中使用较多的一种设计模式。代理设计就是为其他对象提供一种代理以控制对这个对象的访问。

在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。

在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。

 1 public class NetworkTest {
 2     public static void main(String[] args) {
 3         Server server = new Server();
 4         ProxyServer proxyServer = new ProxyServer(server);
 5 
 6         proxyServer.browse();
 7     }
 8 }
 9 
10 interface NetWork{
11     public void browse();
12 }
13 
14 //被代理类
15 class Server implements NetWork{
16 
17     public void browse(){
18         System.out.println("真实的服务器访问网络");
19     }
20 }
21 
22 //代理类
23 class ProxyServer implements NetWork{
24     private NetWork work;
25 
26     public ProxyServer(NetWork work){
27         this.work = work;
28     }
29 
30     public void check(){
31         System.out.println("联网之前的检查工作");
32     }
33 
34     public void browse(){
35         check();
36 
37         work.browse();
38     }
39 }

输出:

联网之前的检查工作
真实的服务器访问网络