接上回:
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* _号码; }; 
|