乒乓球问题

乒乓球问题,指方法的来回调用.

1.一场Party

伪中介模式(5.5)中,Boy与Boy、Boy与Girl的聊天,是典型的乒乓球。
public class Boy extends Actor{
    @Override public void send(String message,Actor to){
        pln(this.name+" To "+to.name+":\""+message+"\"");
        to.receive(message,this);
    }
    @Override public void receive(String message,Actor from){
        char c = (char)(Math.random()*4+'a');
        if(c!='b'){
            String msg = message+" "+c;
            send(msg,from);
        }        
    }    
}
对象a. send(String message,Actor to)代码中b..receive(message,this),而b.receive()代码中自己又send()。

2.回调

有人说,回调是“你调用我,我调用你”。这种错误不想再说它了。

3.命令模式

乒乓球可以看作命令模式的起源。直接给出的命令模式,可以死记硬背地理解,但是,为什么出现这么奇怪的想法,就有趣了。
即便yqj2065推演再三,感觉它类似中学几何证明题中需要添加的某一根辅助线,要绞尽脑汁或灵机一动才能够想到,但是还是不习惯。
推演并习惯之后,我会重新写命令模式,感觉就是行云流水?一江春水向东流?
&@#¥,“Cmd模式是回调机制的一个面向对象的替代品”? 为什么不说Cmd模式是策略模式的简单推广?为什么不说Cmd模式是万能适配器?
我将回调约等于观察者,那么Commond=IClient=Observer?


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值