代理模式

.代理设计模式

       指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。比如生活中的通过代理访问网络,客户通过网络代理连接网络(具体业务),由代理服务器完成用户权限和访问限制等与上网相关的其他操作(相关业务)。

      示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
interface Network { // 定义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 ProxyDemo {  
    public static void main(String args[]) {  
        Network net = null// 定义接口对象 
        net = new Proxy(new Real()); // 实例化代理,同时传入代理的真实操作 
        net.browse(); // 调用代理的上网操作  
    }  
原文地址:https://www.cnblogs.com/jiang--nan/p/8949811.html