C++ 设计模式之代理模式

C++ 设计模式之代理模式

简介

1、代理模式(Proxy)是一种结构性设计模式,它提供了一种方式来控制对另一个对象的访问,或者将请求转发给另一个对象。这种模式可以用于在客户端和目标对象之间添加一层中介,以实现特定的目的,如访问控制、日志记录、性能监控、缓存等。

2、代理模式 (Proxy)应用场景包括但不限于:
2.1、当需要在客户端和实际对象之间提供中间层时。
2.2、当需要对实际对象的访问进行控制或添加额外功能时。
2.3、当需要为计算密集型对象提供轻量级的句柄,并推迟其加载和初始化时。

3、代理模式 (Proxy)的构成
3.1、抽象接口:声明了真实主题和代理的共同接口,这样在任何使用真实主题的地方都可以使用代理。

class DocumentInterface
{
   
public:
	virtual void displayDocument() const = 0;
	virtual ~DocumentInterface() {
   };
};

3.2、真实接口:实现了抽象接口,是代理要代理的真实对象。

class Document :public DocumentInterface
{
   
public:
	Document(std::string docContent);
	void displayDocument() const;

private:
	std::string content;
};

3.3、代理:提供了与真实接口相同的接口,并控制对真实接口的访问,可能还会负责在调用真实接口前后执行一些附加操作。

class DocumentProxy : DocumentInterface
{
   </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值