接上回:
http://www.csdn.net/develop/read_article.asp?id=11224
训练时公布给外界的是一套,而
正式比赛时是另外一套,所谓是
声东击西,可以运用bridge模式。
好处是训练和比赛分离,提高各自
的可扩充性,而且实现细节对客户
(外界)透明:)
代码如下:
class 训练球队{
public:
训练球队();
virtual void 加强左路进攻();
virtual void 加强右路进攻();
protected:
比赛球队* 得到比赛球队();
private:
比赛球队* _实现;
};
class 比赛球队{
public:
virtual void 加强左路进攻();
virtual void 加强右路进攻();
protected:
比赛球队();
};
class 扩展训练球队:public 训练球队{
public:
//...
virtual void 佯攻左路,实攻右路();
private:
const char* _右路队员号码;
};
class 扩展比赛球队:public 比赛球队{
public:
扩展比赛球队();
virtual void 佯攻右路,实攻左路();
//...
private:
const char* _左路队员号码;
};