系统架构设计——设计模式之代理模式(一)

代理模式是一种设计模式,用于在客户端和目标对象间创建中介,控制对目标对象的访问。常见应用场景包括远程代理、虚拟代理、安全代理和智能指引。在代码实现中,包括抽象角色、代理角色和真实角色。代理模式可以提高代码的职责清晰度和扩展性,但过度使用可能导致过度封装。
摘要由CSDN通过智能技术生成

在纷繁复杂的程序设计世界里,我们总是需要尽可能的考虑到各种情况。而有这么一种机制,我们可以将我们指责中的一部分隔离开来,让一个所谓的代理来帮我们解决一部分和主体业务关系不大的业务,从而让我们能更专心的设计我们的主体业务。这就是代理模式的初衷,也是很多流行框架的应用。——个人理解。

一、代理模式(Proxy)的定义

为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不合适或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。

二、应用场景


  1. 远程代理:也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在不同地址空间的事实。例如:WebService、RPC、RMI(Remote Method Invocation)等。
  2. 虚拟代理:是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。例如:利用虚拟代理来优化页面的打开速度。
  3. 安全代理:用来控制真实对象访问时的权限。一般用户对象应该在不同访问权限的时候。
  4. 智能指引:是指当调用真实的对象时,代理处理另外一些事情。例如:Spring AOP、Hibernate等。

注:以上的代理并非只是简单的代理模式的应用,而是使用了下一篇介绍的动态代理的概念。但是思想其实都是一样的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值