接上回:
http://www.youkuaiyun.com/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:
教练* _教练;
};
博客介绍了足球进攻中可采用Command模式,将前锋位置设为command,主力和替补前锋为ConcreteCommand,教练是client,中场及后卫是invoker。该模式可解耦前锋与其他策动进攻球员,且前锋可被操纵和扩展,新增前锋无需改变其他队员,还给出了相关代码。
840

被折叠的 条评论
为什么被折叠?



