代理设计模式
来源:互联网 发布:aws与阿里云差别 编辑:程序博客网 时间:2024/06/10 12:53
今天学习了代理设计模式,在此做一个简单总结,以便今后查阅。
1.先上代码
package lpq;//抽象接口:描述真实角色和代理角色的共同接口interface PenInterface{void sellPen();}//实体类class PenProduce implements PenInterface{String customerName;PenProduce(String name){this.customerName=name;} public void sellPen(){ System.out.println("The pen is sold to "+this.customerName); }}//代理类class PenProxy implements PenInterface{PenProduce penproduce;PenProxy(String name){penproduce=new PenProduce(name);}public void sellPen(){penproduce.sellPen();}}public class Customer {public static void main(String[] args) {// TODO Auto-generated method stubPenProxy penproxy=new PenProxy("liupenqiang");penproxy.sellPen();}}其中包含三个角色
1)抽象角色:实体类和代理类的共同接口,其实是实体类对外的接口;
2)真实角色:即代码中的实体类,是我们最终操作的对象;
3)抽象角色:我们表面上操作的对象,其中包含了对真实角色的引用,另外可以包装一些对真实对象的操作
2.代理模式的好处:
1)可以在代理类中封装一些额外的附加操作,对系统做一些扩展;
3.使用场景
使用场景:
1)远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。
2)虚拟代理,根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的对象。
3)安全代理,用来控制真实对象访问时的权限。
4)智能指引,当调用目标对象时,代理可以处理其他的一些操作。
0 0
- 设计模式--【代理模式】
- 设计模式:代理模式
- 设计模式--代理模式
- 设计模式---代理模式
- 设计模式-代理模式
- 设计模式---代理模式
- 设计模式 代理模式
- 设计模式-【代理模式】
- 设计模式-代理模式
- 设计模式----代理模式
- 设计模式-代理模式
- 设计模式---代理模式
- 设计模式--代理模式
- 设计模式-代理模式
- 设计模式- 代理模式
- 设计模式---代理模式
- 设计模式 - 代理模式
- 【设计模式】代理模式
- oracle数据库初步之查询
- Android~Kotlin——基于android studio环境搭建
- 选择排序算法
- 一年多的大学生活产生的一些和技术无关的想法
- ssh连接localhost被拒绝
- 代理设计模式
- 【JZOJ 4887】最大匹配
- JS数组,一些对元素操作的函数
- Glide图片缓存问题,同一url换图片不起作用问题
- 如何生成SSH key及访问Github
- 求n个数中与某一个元素互质的整数个数
- 在spark集群中通过hive访问mysql数据库
- Java根据某一字段合并两个 Excel文件
- 2016CDA杯大数据竞赛排行榜出炉 人大统计学院摘得桂冠!