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