定义:为其他对象提供一种代理,以控制对这个对象的访问。代理模式也叫委托模式,它是一项基本设计技巧,可以提供非常好的访问控制。
角色定义
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.智能化(动态代理)
168万+

被折叠的 条评论
为什么被折叠?



