设计模式实现——代理模式
来源:互联网 发布:java api手机安卓版 编辑:程序博客网 时间:2024/06/16 03:52
代理模式简介
代理模式就是自己不愿意做,把自己的工作委托给别人来做。就像快递公司不自己送货,把货物给区域代理一样。
优点:
1、可以使自身更加安全,只把部分权限交给代理。其他所有人想知道我都必须进过代理,用于控制权限访问。
2、可以用于延时生成对象,把生成对象开销大的对象生成放缓,在初始化时只给一个null或者简单的拷贝,在使用时再具体生成。
3、可以用于智能指针,在访问对象时可以增加一些附加的操作,可以监控引用次数等。
4、为一个对象在不同的地址空间中提供局部代理。
模式对比
代理模式与适配器模式十分相似,都是将任务给第三方来处理,不同之处在于适配器为所适配的对象提供不同的接口,代理模式提供的接口是一样的。所使用的目的不同,代理是为了隐藏自己或者是为了优化性能;而适配器是为了使接口兼容。
类图
实例分析
在读取图片过程中,初始化读入时间过长,为了及时显示其他的内容,我们可以暂且不初始化图片。使用代理来操作它。
实际调用过程:
void PatternDemo(){MImage* image = new ImageProxy;image->showImage();}
0 0
- 设计模式实现——代理模式
- 设计模式—代理模式
- 设计模式—代理模式
- 设计模式—代理模式
- 设计模式—代理模式
- 设计模式—代理模式
- 设计模式—代理模式
- 设计模式—代理模式
- 设计模式—代理模式
- 设计模式—代理模式
- 设计模式—代理模式
- 设计模式C++实现(8)——代理模式
- 设计模式C++实现(8)——代理模式
- 设计模式C++实现(8)——代理模式
- 设计模式C++实现(8)——代理模式
- 设计模式C++实现(8)——代理模式
- 设计模式C++实现(8)——代理模式
- 设计模式C++实现(8)——代理模式
- 数据结构实验之栈一:进制转换
- RecyclerView嵌套后刷新View自动滑动解决
- s5pv210时钟系统详解
- Qt中定时器Timer使用
- Kernels in Machine Learning and SVM
- 设计模式实现——代理模式
- 1107. Social Clusters (30) 并查集
- Divisors
- OpenCV 系列---交互(二)鼠标
- Linux下的文件操作命令(五、文件内容统计命令)
- 前端面试的思路
- 【SSM 5】Mybatis分页插件的使用
- react开发思维方式入门
- hash