代理模式--代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。说实话对一些模式还是不理解,只能把代码自己实现一下先。
// proxy.cpp : 定义控制台应用程序的入口点。
//
#include<iostream>
using namespace std;
class Subject
{
public:
virtual void request()
{
cout << "Subject::request" << endl;
}
};
class ConcreteSubject:public Subject
{
public:
void request()
{
cout << "ConcreteSubject::request" << endl;
}
};
class Proxy:public Subject
{
public:
Proxy(Subject *s)
{
this->s = s;
}
void request()
{
s->request();
}
Subject *s;
};
int main()
{
ConcreteSubject c;
Proxy p(&c);
p.request();
return 0;
}