结构型模式:
类和类的组合获取更大的结构。
代理模式(Proxy模式) 结构型模式之一,可以为其他对象提供一种代理以控制对这个对象的访问。
代理是指具有与代理元(被代理的对象)具有相同接口的类,客户端必须通过代理与被代理的目标类交互。
当一个对象不适合或者不能直接引用另一个对象的时候,利用代理对象作为中介完成。
应用:
1、远程代理,一个对象在不同地址空间提供局部代表,WebService调用代理实现远程访问。
2、虚拟代理,对实例化开销很大的对象通过代理存放优化,如HTML的未打开图片框,存储路径和尺寸调用图片打开。
3、安全代理,控制真实对象的访问权限。
4、智能指引,调用真实对象时,代理处理另外一些事(在访问对象时附加一些内务处理)
例子:通过代理去验证用户名和密码,再去调用真正的系统。
/*
2021.10.02 代理模式
代理模式(Proxy模式) 结构型模式之一,可以**为其他对象提供一种代理以控制对这个对象的访问**。
代理是指具有与代理元(被代理的对象)具有相同接口的类,客户端必须通过代理与被代理的目标类交互。
当一个对象不适合或者不能直接引用另一个对象的时候,利用代理对象作为中介完成。*/
#include <iostream>
#include <string>
using namespace std;
/*黑马程序员--简单系统代理*/
//抽象接口类
class AbstractCommonInterface {
public:
virtual void run(