码迷,mamicode.com
首页 > 其他好文 > 详细

代理设计模式

时间:2019-01-27 14:35:06      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:代理商   eal   .net   一个   构造方法   服务   动作   over   网络   

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

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()方法,然后再执行传入的真实运营商对象的实际处理上网请求的动作。

 

  

代理设计模式

标签:代理商   eal   .net   一个   构造方法   服务   动作   over   网络   

原文地址:https://www.cnblogs.com/cainame/p/10326136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!