设计模式之代理设计

编程入门 行业动态 更新时间:2024-10-10 02:17:53

设计<a href=https://www.elefans.com/category/jswz/34/1771241.html style=模式之代理设计"/>

设计模式之代理设计

代理设计也是在java开发中使用较多的一种设计模式。
所谓的代理设计就是代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理,就好像在生活中经常使用的代理上网一样,客户通过网络代理连接网络,由代理服务器完成用户权限和访问限制等与上网相关的的操作,如图所示

不管是代理操作还是真实的操作,其共同的目的就是上网,所以用户关心的只是上网,至于具体是如何操作的用户并不关心,所以就可以得出如图所示的分析结果

从图中可以发现,只需要定义一个上网的接口,代理主题和真实主题都同时实现此接口,然后再由代理操作真实主题即可,以上要求可以用以下代码描述:

interface Network{public void browse() ;  // 浏览
}
class Real implements Network{public void browse(){System.out.println("上网浏览信息") ;}
};
class Proxy implements Network{private Network network ;   // 代理对象public Proxy(Network network){thiswork = network ;}public void check(){System.out.println("检查用户是否合法。") ;}public void browse(){this.check() ;thiswork.browse() ; // 调用真实的主题操作}
};
public class ProxyDemo{public static void main(String args[]){Network net = null ;net  = new Proxy(new Real()) ;//  指定代理操作net.browse() ;  // 客户只关心上网浏览一个操作}
};

程序运行结果:

检查用户是否合法
上网浏览信息

以上程序的执行流程如图所示:

从图可以看出,真实主题完成的只是上网的最基本的功能,而代理主题要做的比真实主题更多的业务相关的操作。

更多推荐

设计模式之代理设计

本文发布于:2024-02-27 19:17:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765969.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!