代理模式
在我们的生活中代理的例子是非常多,对我们IT人员最直接的就是上Google,由于GFW屏蔽了Google,因此我们需要通过代理访问Google。
还有我们买火车票,有些人买不到,通过黄牛作为一个中介买车票。黄牛就是一个代理。
设计模式中定义: 为其他对象提供一种代理以控制对这个对象的访问.
#include <iostream>
using namespace std;
class girl
{
public:
int get_num(){
return num;
}
void set_num(int number){
num = number;
}
private:
int num;
};
class sendGift
{
public:
virtual void sendBread() = 0;
virtual void sendFlower() = 0;
};
class love : public sendGift
{
public:
love(girl *pgirl){
MM333 = pgirl;
}
void sendBread(){
cout<<"send MM333 bread"<<endl;
}
void sendFlower(){
cout<<"send MM333 flower"<<endl;
}
private:
girl *MM333;
};
class proxy : public sendGift
{
public:
proxy(girl *pgirl){
GG666 = new love(pgirl) ;
}
void sendBread(){
GG666->sendBread();
}
void sendFlower(){
GG666->sendFlower();
}
private:
love *GG666;
};
int main(int argc, char *argv[])
{
girl *pgirl = new girl();
pgirl->set_num(100);
proxy *pproxy = new proxy(pgirl);
pproxy->sendBread();
pproxy->sendFlower();
return 0;
}
以上代码逻辑:由于男孩见不到女孩,只能向女孩的num发送礼物。