代理模式

定义:为其他对象提供一种代理,以控制对这个对象的访问。代理模式也叫委托模式,它是一项基本设计技巧,可以提供非常好的访问控制。


角色定义

1.Subject抽象主题角色     抽象主题可以是抽象类 也可以是接口,是一个普通的业务类型定义

2.RealSubject 具体主题角色            被委托角色,被代理角色,是业务逻辑的具体执行者

3.Proxy代理主题角色   也叫做委托类,代理类,

通用代码

public interface Subject {
	
	public void request();

}

public class RealSubject implements Subject{

	public void request() {
		//业务逻辑处理
	}

}

public class Proxy implements Subject{

	private Subject mSubject = null;//要代理哪个实现类
	
	
	/**
	 * 默认被代理者
	 */
	public Proxy(){
		mSubject = new Proxy();
	}
	
	public Proxy(Subject subject){
		mSubject = subject;
	}
	
	public void request() {
		before();
		mSubject.request();
		after();
	}
	
	/**
	 * 预处理
	 */
	public void before(){
		
	}
	
	
	/**
	 * 善后处理
	 */
	public void after(){
		
	}
	

}


代理模式的优点:

1.职责清晰 真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事物,通过后期的代码完成一件事物,使得编程简洁清晰。

2.高扩展性 具体主题角色是时刻在变化的,只要实现了接口,代理类可以不做任何修改 继续使用。

3.智能化(动态代理)




评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值