Java设计模式之代理(Proxy)

一、引导

代理设计在就是指由一个代理主题来操作真实主题,真是主题执行具体的业务操作,而代理主题负责其他相关业务的处理,就好像在生活中使用的代理上网一样,客户通过网络代理连接网络,有代理服务器完成用户权限和访问权限等上网相关的操作。不管代理操作还是真实操作,其共同的目的就上网,所以用户关心的是如何上网,至于具体是如何操作的用户并不关心。例如:只需要定义一个上网的接口,代理主题和真实主题都同时实现此接口,然后再由代理主题操作真实主题即可。

二、示例代码:

package com.wbf.proxy;

interface 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();
	}
}

三、说明:

从以上代码中就可以看出,真实主题完成的只是上网的最基本的功能,而代理主题要做比真实主题更多的业务相关的操作。

原理图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值