乒乓球问题

来源:互联网 发布:php usleep 100毫秒 编辑:程序博客网 时间:2024/06/02 19:51

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

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
原创粉丝点击