代理模式
来源:互联网 发布:手机淘宝直通车位置 编辑:程序博客网 时间: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
- 代理模式--动态代理
- 代理模式-静态代理
- 代理模式-静态代理
- 代理模式 & 动态代理
- 代理模式--静态代理
- 代理模式--动态代理
- 代理模式(动态代理)
- 代理模式-动态代理
- 代理模式-动态代理
- 代理模式动态代理
- 代理模式-静态代理
- 代理模式-动态代理
- 代理模式 -动态代理
- 代理模式---动态代理
- 代理模式-动态代理
- 代理模式--静态代理
- 代理模式!
- 代理模式
- Hinton关于RBM的代码注解之(三)mnistclassify.m
- [笔记] How to get the versionCode and versionName of your app
- Android Eclipse 项目报错,但没有显示具体错的代码位置
- [刷题]Search Insert Position
- Mac下面的SecureCRT(附破解方案) 更新到最新的7.3.2
- 代理模式
- 动态规划
- androidの调用系统相机拍照
- 转自66RPG:NeoAxis教程 第一篇,从头开始
- poj 2142 The Balance(不定方程)
- 查看ipc资源情况及其删除共享内存命令
- android振动效果的实现
- Libevent源码分析-----evbuffer结构与基本操作
- ubuntu-12.04-LAMP搭建-apache2.4.7虚拟机配置