接上回:
http://www.csdn.net/develop/read_article.asp?id=11401
在快速反击中使用proxy模式,可以大大提高反击的质量,首先,得分手总站在前场,不参与防守,浪费太大,而且容易被防死,所以可以使用一个速度很快的前卫做proxy来助攻,截掉对方来球后,由他来快速带球通过中场,但是不由他射门得分,而是吸引对方防守,传给真正的得分手realsubject来完成射门。好处是减小开销,增大威力:)代码如下:class 队员{public: virtual ~队员();
virtual void 反击()=0;protected: 队员();}
class 得分手:public 队员{public: 得分手(const char* 号码); virtual ~得分手();
virtual void 反击();private: //...};
class 助攻队员:public 队员{public: 助攻队员(const char* 号码); virtual ~助攻队员();
virtual void 反击();protected: 得分手* 传给得分手();private: 得分手* _得分手; char* _号码;};