目录
1、代理模式
(1)意图
为其他对象提供一个代理以控制这个对象的访问
(2)结构
图片来源: https://blog.csdn.net/jefferent2008/article/details/84002017
(3)适用性
远程代理、虚代理、保护代理、智能引用
2、代码编写
所谓代理我们在生活中也常常遇见,由于软考我们不需要掌握太深的问题,我们可以掌握大致原理就行,举例:张三一早去公司,她的工作秘书(代理)给张三整理好合同、对接好法律文书、公司文件就等张三签字认可。张三则不需要再为这些事务而烦心,专心的对关键事情进行处理。
#include<iostream>
using namespace std;
class subject{
public:
virtual void request()=0;
};
class realsubject:public subject{
public:
void request(){
cout<<"张三认为李四办事他放心 于是爽快的在合同上签字"<<endl;
}
};
class proxy:public subject{
public:
proxy(realsubject *p){
this->p=p;
}
void request(){
cout<<"秘书李四帮张三把文书、合同、法律意见书等整理好,不存在合规问题后让张三签字"<<endl;
p->request();//秘书李四通知老板张三来签字
}
realsubject *p;
};
int main(){
proxy *a= new proxy(new realsubject);
a->request();
return 0;
运行结果