当前位置:编程学习 > C/C++ >>

代理模式

前序

卓贾易同学为了追求娇娇同学,于是要戴励同学帮他送洋娃娃,花和巧克力给娇娇同学.请你用代理模式来设计这些送东西的过程.

代理模式

代理模式给某一个对象提供一个代理对象,并由代理对象控制对源对象的引用。代理就是一个人或一个机构代表另一个人或者一个机构采取行动。某些情况下,客户不想或者不能够直接引用一个对象,代理对象可以在客户和目标对象直接起到中介的作用。客户端分辨不出代理主题对象与真实主题对象。代理模式可以并不知道真正的被代理对象,而仅仅持有一个被代理对象的接口,这时候代理对象不能够创建被代理对象,被代理对象必须有系统的其他角色代为创建并传入。

实现方式(UML类图)

\

实现代码

#include <stdio.h>

 

class IGiveGift

{

public:

       virtual void GiveDolls()=0;

       virtual void GiveFlowers()=0;

       virtual void GiveChocolate()=0;

};

 

class SchoolGirl

{

public:

       char*& Name()

       {

              return name;

       }

protected:

       char* name;

};

 

class Pursuit : public IGiveGift

{

public:

       Pursuit(SchoolGirl* _mm) : mm(_mm){}

      

       virtual void GiveDolls()

       {

              printf("%s 送你洋娃娃 ",mm->Name());

       }

      

       virtual void GiveFlowers()

       {

      &nb

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,