首页 > 其他 > 详细

代理模式

时间:2015-05-28 00:33:53      阅读:306      评论:0      收藏:0      [点我收藏+]
1】什么是代理模式?

  为其他对象提供一种代理,并以控制对这个对象的访问。

【2】代理模式代码示例:

示例代码:
#include <iostream>
#include <string>
using namespace std;

class SchoolGirl
{
public:
    string name;
};

/*
 * 接口
 */
class IGiveGift
{
public:
    virtual void giveDolls() = 0;
    virtual void giveFlowers() = 0;
};

/*
 * 委托类
 */
class Pursuit : public IGiveGift
{
private:
    SchoolGirl mm;

public:
    Pursuit(SchoolGirl m)
    {
        mm = m;
    }
    void giveDolls()
    {
        cout << mm.name << " 送你娃娃" << endl;    
    }
    void giveFlowers()
    {
        cout << mm.name << " 送你鲜花" << endl;    
    }
};

/*
 * 代理类
 */
class Proxy : public IGiveGift
{
private:
    Pursuit gg;

public:
    Proxy(SchoolGirl mm) : gg(mm)
    {
    }
    void giveDolls()
    {
        gg.giveDolls();
    }
    void giveFlowers()
    {
        gg.giveFlowers();
    }
};

/*
 * 客户端
 */
int main()
{
    SchoolGirl lijiaojiao;
    lijiaojiao.name = "李娇娇"; 
    Pursuit zhuojiayi(lijiaojiao); 
    Proxy daili(lijiaojiao);

    daili.giveDolls();
    daili.giveFlowers();

    return 0;
}

 

代理模式

原文:http://www.cnblogs.com/leijiangtao/p/4534653.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!