接上回:
http://www.csdn.net/develop/read_article.asp?id=11267
足球中的进攻可以采用command模式,前锋的位置是command,主力前锋和替补前锋是ConcreteCommand,client是教练,invoker是中场及后卫球员。好处是将前锋和其他策动进攻的球员解耦。并且前锋也可以向其他队员一样被操纵和扩展。新增一个前锋很容易,因为无需改变其他队员:)代码如下:class 前锋{public: virtual ~前锋();
virtual void 进攻()=0;protected: 前锋();};
class 主力前锋:public 前锋{public: 主力前锋(教练*);
virtual void 进攻();private: 教练* _教练;};
class 替补前锋:public 前锋{public: 替补前锋(教练*);
virtual void 进攻();private: 教练* _教练;};