足球战术->中场发动机之mediator篇


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

<p style=line-height: 150%>上次忘了最古老的足球战术->中场发动机战术,也就是mediator模式,
在这个模式中,所有的中场组织都由中场发动机(mediator)来完成。
对其他队员(colleague)的要求降低,而对中场发动机的要求大大提高。
传球方式分两种,第一种由普通的observer模式得来:将中场发动机
作为observer,其他队员作为subject,由中场发动机将其他队员的传球
再传给其他人;第二种由其他队员把自己作为参数传给中场发动机,
跑动后中场发动机再把球传给他,做踢墙式二过一。代码如下:
class 中场发动机{
public:
     virtual ~中场发动机();

<p style=line-height: 150%>     virtual void 中转();
     virtual void 其他队员的传递(其他队员*)=0;

<p style=line-height: 150%>protected
     中场发动机();
     virtual void 带球,寻找可传球人()=0;
};

<p style=line-height: 150%>class 其他队员{
public:
     其他队员(中场发动机*);
     virtual void 进攻变化();

<p style=line-height: 150%>     virtual void 传球(传球事件& 事件);

<p style=line-height: 150%>private:
     中场发动机* _发动机;
};

<p style=line-height: 150%>void 其他队员::进攻变化(){
    _发动机->其他队员的传递(this);
}




扫一扫在手机打开当前页

关注公众号

微信公众号