C++结构型模式-代理模式

1 模式介绍

代理模式(Proxy Pattern):给某一个对象提供一个代理,并由代理对象控制对原对象的引用。(为其他对象提供一种代理以控制这个对象的访问)

2 模式结构

(1)Subject(抽象主题角色):声明了真实主题和代理主题的共同接口,这样一来在任何使用真实主题的地方都可以使用代理主题,客户端通常需要针对抽象主题角色进行编程
(2)Proxy(代理主题角色):代理主题角色通过关联关系引用真实主题角色,因此可以控制和操纵真实主题对象;代理主题角色中提供一个与真实主题角色相同的接口(以在需要时代替真实主题角色),同时还可以在调用对真实主题对象的操作之前或之后增加新的服务和功能;
(3)RealSubject(真实主题角色):定义了代理角色所代表的真实对象,在真实主题角色中实现了真实的业务操作,客户端可以通过代理主题角色间接调用真实主题角色中定义的操作。
 

3 模式优缺点

3.1 优点

(1)代理模式能够将客户与真正被调用的对象分离(协调调用者与被调用者),降低了耦合度;

(2)客户端可以通过代理与多个目标对象交互,目标对象的修改和扩展客户端并不感知,扩展性和维护性强

(3)各种代理模式:

远程代理:使得客户端可以访问在远程机上的对象,远程机可以具有更好的计算性能与处理速度,可以快速相应并处理客户端请求;

虚拟代理:可以使用一个小对象来代表一个大对象,可以减少系统资源的消耗,对系统进行优化并提高运行速度;

保护代理:可以控制对真实对象的使用权限;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值