程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved