声东击西之bridge篇


<p style=line-height: 150%>接上回:

<p style=line-height: 150%><A href="http://www.csdn***/develop/read_article.asp?id=11224">http://www.csdn***/develop/read_article.asp?id=11224</A>

<p style=line-height: 150%>训练时公布给外界的是一套,而
正式比赛时是另外一套,所谓是
声东击西,可以运用bridge模式。
好处是训练和比赛分离,提高各自
的可扩充性,而且实现细节对客户
(外界)透明:)
代码如下:
class 训练球队{
public:
    训练球队();
    virtual void 加强左路进攻();
    virtual void 加强右路进攻();
protected:
    比赛球队* 得到比赛球队();
private:
    比赛球队* _实现;
};

<p style=line-height: 150%>class 比赛球队{
public:
    virtual void 加强左路进攻();
    virtual void 加强右路进攻();
protected:
    比赛球队();
};

<p style=line-height: 150%>class 扩展训练球队:public 训练球队{
public:
    //...
    virtual void 佯攻左路,实攻右路();
private:
    const char* _右路队员号码;
};

<p style=line-height: 150%>class 扩展比赛球队:public 比赛球队{
public:
   扩展比赛球队();
   virtual void  佯攻右路,实攻左路();
   //...
private:
    const char* _左路队员号码;  
};




扫一扫在手机打开当前页

关注公众号

微信公众号