您的位置:首页 > 新闻资讯 >文章内容
静态代理模式的简单分析--提供一种中间代理
来源:互联网 作者:admin 时间:2019-03-19 11:37:50

静态代理跟动态代理不一样,我们平常使用动态代理比较多,像一些需要频繁更换IP的项目都是找动态代理的,那么静态代理有什么用呢?


如果还不了代理的,可以先去看看关于代理的定义,对于静态代理,其实说白了就是为其它的对象提供一种中间代理,以控制对被访问者的访问,让我们先看下类图,结合类图,然后我们用代码走一遍。代理模式相关类关系图如下:



静态代理模式的简单分析--提供一种中间代理

1.首先我们需要定义一个被访问的对象接口,该接口是对被访问者或者被访问资源的抽取,也就是我们图中的Isubject,:


静态代理模式的简单分析--提供一种中间代理


2.定义一个被访问者或者被访问资源的具体实现类,也就是图中的SubjectImpl。如果你租过房子,找过中介,你应该就能明白,这个对象其实就是房主本人。


静态代理模式的简单分析--提供一种中间代理


3.定义一个被访问者或者被访问资源之间的代理实现类,在租房的过程中它其实就充当我爱我家的作用,你其实也可以理解为它充当的就是目标对象的影子,但是这个影子拥有比目标对象更多的功能,它内部需要注入一个被访问者的具体实例,其实这步操作就相当于在我爱我家那边需要挂上房主本人的信息;


静态代理模式的简单分析--提供一种中间代理


就这样,一个简单的静态代理模式就ok了,接下来,我们测试下,


静态代理模式的简单分析--提供一种中间代理


输出结果为:proxy ok


然而,在实际开发中,我们的需求在变,某天我们在此基础上引入更复杂的业务,这时,依旧采用原思路走,看代码:


4.定义一个代理SubjectProxy 的对象,同样的我们可以这么理解,我爱我家又拖了一家卖房中介卖房主的房子,而这个卖房中介肯定要收更多的钱,那么收钱就是新增的业务了;


静态代理模式的简单分析--提供一种中间代理


此时,测试demo怎么写嘞,还是一样的嘞,请看代码!


静态代理模式的简单分析--提供一种中间代理


输出为:serviceSubject proxy ok


静态代理具有代理模式的优点就是可以做到隔离业务代码与非业务代码。


静态代理的主要缺点是一个委托类对应于一个代理类,并且需要为每一个需要委托的方法编写相应的代理方法,对于项目中需要大量用到代理模式的情况,静态代理会增加非常多的代码量。


此外,由于代理类与委托类都实现了同样的接口,假设接口需要变动,代理类也需要同步变动,这样对于软件项目维护也会增加不少的工作量与难度。


跟着代理走,其实也简单,以上就是关于静态代理模式的一些知识,通过这个例子,大家了解比较深了。


相关文章内容简介
推荐阅读
  • 04 2020-11
    游戏工作室换ip软件时要注意什么

    有许多的玩家以及游戏工作室,在游戏打金或者搬砖的时候都会遇到一个致命的问题,关乎于存活的命脉,那就是游戏商批量的封号问题,这使大家都头痛万分,那么大多问题就处于在IP上。

  • 21 2019-03
    几十亿的网络爬虫都在干啥?大量的爬虫用代理IP抢票去了

    根据去年的互联网恶意爬虫分析报告,我们才知道实际上,全网每天要遭受几十亿恶意爬虫的攻击。而我们之前只知道互联网中至少有一半的流量是爬虫产生的,现在看来,恶意爬虫越来越多,

  • 22 2019-11
    怎么设置代理IP方便?

    很多人不知道使用代理IP上网有什么好处,用代理IP能够帮助大家隐藏真实IP地址,你的网络安全更加有保障。所以,现在才越来越多用户愿意付费去购买。

  • 30 2020-10
    代理IP能帮助我们做些什么

    在互联网时期,代理IP曾经不是什么新颖事物了,有一些不太理解的朋友,不断以为用代理IP能够做很多事情。代理IP确实有很多作用,但也并不是万能的。这就好比你买了一个好的球拍,准备了

  • 20 2019-06
    更换ip地址找http代理

    更换ip地址找http代理,这种更换IP的方法是最快的,而且效果也好的,能换的IP也多,具体能换哪里的IP地址,要看商家的规模,像机灵代理的话,可以更换到全国200+城市的IP线路,是相当的不错

  • 01 2020-10
    为什么爬虫需要代理IP

    就拿机灵ip代理来说,很多爬虫代理ip资源初衷都是差不多的。但是机灵ip代理之所以会出现,他是为了改变世面上同类软件的价格太高的局面,因为定价太高很多大众用户不能使用这类代理ip资

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部