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

    技术2022-05-19  18

    2011年3月7日 星期一 〖农历 辛卯 免年 二月初三〗 晴设计模式之四、代理模式Proxy适用范围:为其它对象提供一种代理以控制对这个类的使用。书中的实例:A要追求C,通过B向C送各种礼物。即A为实体对象,B为代理对象。代理模式的结构图如下所示:关键C++代码1、接口类:ISubject接口类中定义接口,即纯虚函数:virtual void Request() = 0;2、实体类:CRealSubject.cppvoid CRealSubject::Request(){printf("这是实体类对象/n");}3、代理类:CProxySubjectCProxySubject.h//定义实体类对象m_realCRealSubject *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.cppCProxy *proxy = new CProxy();proxy->Request();

     

    //释放内存

    if(proxy != NULL)

    {

       delete proxy;

    }

     

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


    最新回复(0)