软件测试 | 设计模式——代理设计
代理设计也就是Java开发中使用较多的一种设计模式,所谓的代理设计就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理,就好像在生活中经常使用的代理上网一样,客户通过网络代理连接网络,由代理服务器完成用户权限和访问限制等与上网操作相关的操作,如图所示。
不管是代理操作还是真实的操作,其共同的目的就是上网,所以用户关心的只是如何上网,至于具体是如何操作的用户并不关心,所以可以得出如图6-18所示的分析结果。
图6-18可以发现,只需要定义一个上网的接口,代理主题和真实主题都同时实现此接口,然后再由代理操作真实主题即可,以上的要求可以形成如下代码。
范例:代理操作
interface Network{ //定义Network接口
public void browse() ; //定义浏览的抽象方法
}
class Real implements Network{ //真实的上网操作
public void browse(){ //覆写抽象方法
System.out.printIn("上网浏览信息") ;
}
}
class Proxy implements Network { //代理上网
private Network network ;
public Proxy(Network network){ //设置代理的真实操作
this.network = network ; //设置代理的子类
}
public void check(){ //与具体上网相关的操作
System.out.printIn("检查用户是否合法");
}
public void browse(){
this.check(); //可以同时调用多个与具体业务相关的操作
this.network.browse(); //调用真实上网操作
}
}
public class ProxyDemo {
public static void main(string args []){
Network net = null ; //定义接口对象
net = new Proxy(new Real()); //实例化代理,同时传入代理的真实操作
net.browse() ; //客户只关心上网浏览一个功能
}
}
程序运行结果:
检查用户是否合法
上网浏览信息
以上程序的执行流程如图所示
真实主题完成的只是上网的最基本功能,而代理主题要做比真实主题更多的业务相关的操作。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbaccf
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13