zoukankan      html  css  js  c++  java
  • 代理设计模式

    模拟代理服务器处理用户上网请求

    1.首先是Network接口定义网络协议

    interface Network { // Net开发协议
    	public void browse(); // 定义浏览的抽象方法
    }
    

    2.配置运营商服务

    class Real implements Network {
    	@Override
    	public void browse() {
    		System.out.println("正在上网!");
    	}
    }
    

    3.配置代理商

    class Proxy implements Network { // 代理上网
    	private Network network;
    	public Proxy(Network network) {  //代理商的构造方法,传入一个真实的代理商来进行实例化
    		this.network = network;
    	}
    	@Override
    	public void browse() { //处理用户上网操作
    		this.check();  //检查用户是否合法
    		this.network.browse();//执行真实的上网操作
    	    }
    	public void check() {
    		System.out.println("检查用户是否合法");
    	}
    }
    

    4.用户客户端

    public class test2 {
    	public static void main(String[] args) {
    		Network net = null;
    		net = new Proxy(new Real());
    		net.browse();
    	}
    }
    

    总结:首先用户向代理服务器请求上网,来实例化一个代理服务器对象,然后调用brower方法,在实例化代理服务器时必须传入一个真实的运营商,代理服务器处理用户上网请求时,会先执行check()方法,然后再执行传入的真实运营商对象的实际处理上网请求的动作。

      

  • 相关阅读:
    LVS---服务器集群系统
    I/O的基本概念
    rsync+cron同步文件服务
    IAAS、PAAS、SAAS及公有云、私有云概念
    Python3456学习结构
    Python列表常用函数解析
    Python字符串常用函数详解
    验证码生成
    Python随机数生成random.randint()与np.random.randint()
    python在线&离线安装第三库的方法
  • 原文地址:https://www.cnblogs.com/cainame/p/10326136.html
Copyright © 2011-2022 走看看