代理模式

来源:互联网 发布:手机淘宝直通车位置 编辑:程序博客网 时间:2024/06/07 05:07

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


角色定义

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.智能化(动态代理)




0 0
原创粉丝点击