代理模式Proxy——在线代理
1.问题与模式:怎样在不直接访问网易博客的情况下,发表博客?
时间:2012年某月周日晚 地点:学校机房 人物:学生甲
网易博客都好几天了还是打不开,博客已经写好了往其它网站上发吧又觉得不太合适,再写一篇吧又懒得写,眼看着一个星期就要过完了连一篇博客也没发,有点小着急。
静下心来想想,如果是网易博客内部的问题也不会留着好几天了还没解决,于是就问了下其它学校的人,果不其然人家的访问正常无误。难道是学校把它给屏蔽了?还是这儿访问太多,每次我要进的时候就正好给挡住了?……
各种奇葩想法层出不穷,不管怎么着,只要今天能让我把博客发了就OK了,其它的暂不关心。
接下来就开始找能让我发博客的工具,一秒二秒三秒……最终锁定翻墙软件和在线代理,一听软件就觉得要安装啦什么的好麻烦的,所以直接略过选择在线代理(乙),这个倒真省事,直接在输入框中输入网址就打开了网易博客,虽然有点慢,但是我的博客终是发表了。
2.结构:UML图
3.模式组成
1)真实主体角色(学生甲——RealSubject):定义了代理角色所代表的真实实体。需求的发起者
2)代理角色(在线代理乙——Proxy):保存一个引用使得代理可以访问RealSubject,并提供一个与Subject的接口相同的接口,使得代理可以用来替代RealSubject。是真实主体得到需求的中转站。
3)抽象主体角色(网易博客——Subject):定义了RealSubject和Proxy的共用接口,使得在任何使用RealSubject的地方都可以使用Proxy。
4.应用
1)远程代理:为一个对象在不同的地址空间提供局部代表,这样可以隐藏一个对象存在于不同地址空间的事实
2)虚拟代理:根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。
3)安全代理:用于控制真实对象访问时的权限。
4)智能指针:当调用真实的对象时,代理处理另外一些事。
5.优点
1)职责清晰:学生甲只要明确他的需求——发表博客,关于如何打开网易博客等非本职责的事务不必关心。
2)安全性好:在线代理可以在学生甲和网易博客之间起到中介作用,这样的附加结果就是在一定程度上保护了学生甲的IP。
3)高扩展性
缺点
1)可能会造成请求的处理速度变慢
2)需要额外的工作量
6.其它相关模式
适配器模式、装饰器模式
7.总结
代理模式:为其它对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
它是GOF中很常用的模式之一,特别是在某些需求不能直接完成的情况下可以利用这种曲线救国的方法。
代理模式Proxy——在线代理相关推荐
- 设计模式——代理模式(Proxy Pattern)之为别人做嫁衣
代理模式Proxy Pattern 代理模式 1.背景 2.定义 3.特征 4.应用场景 5.实验案例 参考 代理模式 1.背景 假如说我现在想租一间房子,虽然我可以自己去找房源,做卫生检测等一系列的 ...
- 代理模式(Proxy)简介
代理模式相对来讲比较简单和容易理解. 一, 代理模式(Proxy)的定义 教材里定义很简单: 所谓代理模式, 就是为其他对象提供一种代理控制对这个对象的访问. 上面出现了3个名词: 1.其他对象 2. ...
- 二十四种设计模式:代理模式(Proxy Pattern)
代理模式(Proxy Pattern) 介绍 为其他对象提供一个代理以控制对这个对象的访问. 示例 有一个Message实体类,某对象对它的操作有Insert()和Get()方法,用一个代理来控制对这 ...
- Java24种设计模式(第二种)--代理模式(Proxy Pattern)
Java24种设计模式 (第二种) 一.代理模式(Proxy Pattern) 模式逻辑: 什么是代理模式呢?我很忙,忙的没空理你,那你要找我呢就先找我的代理人吧,那代理人总要知道 被代理人能做哪些事 ...
- 二十三种设计模式(第十二种)-----代理模式(Proxy)
二十三种设计模式(第十二种)-----代理模式(Proxy) 尚硅谷视频连接https://www.bilibili.com/video/BV1G4411c7N4?from=search&se ...
- 代理模式Proxy (非常容易看懂)
代理模式有静态代理模式和动态代理模式 1.静态代理模式: 这个例子举得太好了:助理可以做其他事情:预定时间,场地,最后结算费用,但是唱歌的话只能由歌手华仔本人来 总共有三个类,调用类,代理类,被代理 ...
- 代理模式-Proxy Pattern
在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象.例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买.又如 ...
- [Java] 代理模式 Proxy Mode
[Java] 代理模式 Proxy Mode 文章目录 [Java] 代理模式 Proxy Mode 1. 代理思想 2.java.lang.reflect.Proxy类 2.1 利用反射创建prox ...
- 一文彻底搞懂代理模式(Proxy)
代理模式 引言 代理模式的定义与特点 代理模式的结构 模式实现 静态代理 动态代理 总结 与装饰者模式 文章已收录我的仓库:Java学习笔记与免费书籍分享 代理模式 引言 代理模式是非常常见的模式,在 ...
最新文章
- c语言实验至少包括四个函数中,C语言实验报告《函数》
- hive币涨幅空间大吗_空间大、油耗低,家用MPV领域的三款全能好车,你心动了吗?...
- 提高电路板EMC能力PCB设计和布线方法
- 《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(5)
- foreach 语句
- centos8 安装docker_CentOS 8 安装 docker
- MATLAB中调用Weka设置方法(转)及示例
- HBase MapReduce
- add.attribute向前端传_前端知识-概念篇
- CSS相对定位,固定定位,绝对定位实例方法和实例
- hdu 1512 Monkey King 左偏树
- 计算机视觉论文-2021-11-02
- 2021-02-20
- 【MySQL】新闻发布系统数据库设计
- centos8安装docker使用smartdns+adguardhome,完美高效加速dns和去广告
- 视网膜正常oct图_眼底OCT分层|图文并茂教你看
- getch方法_c语言中getch的用法
- 网考英语和计算机范围,中考英语听说机考周六首考,考生要依据计算机提示作答...
- 1. 微信公众号申请
- 苹果维修堪比登天难:评级F,获得最低分2.75分