设计模式之(四、代理模式Proxy)

2011年3月7日 星期一 〖农历 辛卯 免年 二月初三〗 晴
设计模式之四、代理模式Proxy
适用范围:
为其它对象提供一种代理以控制对这个类的使用。
书中的实例:
A要追求C,通过B向C送各种礼物。
即A为实体对象,B为代理对象。
代理模式的结构图如下所示:


关键C++代码
1、接口类:ISubject
接口类中定义接口,即纯虚函数:
virtual void Request() = 0;

2、实体类:CRealSubject.cpp
void CRealSubject::Request()
{
printf("这是实体类对象/n");
}

3、代理类:CProxySubject
CProxySubject.h
//定义实体类对象m_real
CRealSubject *m_real;

CProxySubject.cpp

CProxySubject::CProxySubject():m_real(NULL)

{

}

CProxySubject::~CProxySubject()

{

    if(m_real != NULL)

    {

       delete m_real;

       m_real = NULL;

    }

}
void CProxySubject::Request()
{
    if( m_real == NULL)
    {
        m_real = new CRealSubject();
    }
    m_real->Request();
}

4、客户端代码main.cpp
CProxy *proxy = new CProxy();
proxy->Request();

 

//释放内存

if(proxy != NULL)

{

   delete proxy;

}

 



书中的通过代理人向女孩儿送礼物的实例,已经用C++实现了,也比较简单。
需要的朋友可以和我联系。等整理好后,我会将所有的代码上传到CSDN资源库中,方便初学者使用,也希望大家对我的代码提出富贵的意见。
作为编码人员,我经验还很不足,也会经常犯一些比较低级的错误,欢迎大家批评指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值