在开始读这本书时,就碰到了很多问题,特别是那个打字程序,它的几个类的关系还没有搞清楚,
比如这几个类CharaterSource,CharaterEvent,CharaterListener,CharacterEventHandler,
CharacterDisplayCanvas
至于后面它们是怎么协作的更是一头雾水

解决方案 »

  1.   

    建议先看看设计模式中的观察者模式,这几个类就是这个模式的实现
    可以写个Swing小程序,看看它的事件处理是怎么做的
      

  2.   

    谢谢指点!
    我正想看点设计模式,之前比较完整的看过《设计模式精解》,
    我准备看《java与模式》,这本书很厚,不知道适合与否,
    还有别的经典的关于java设计模式的书吗?
    谢谢!
      

  3.   


    <head first设计模式> 是学习设计模式最好的书。简单清晰、语言流畅
      

  4.   

    CharaterSource,字符源类,是被观察者接口
    CharaterListener,字符监听,是观察者接口
    CharaterEvent,字符事件,包装了字符数据,特指产生了一个什么样的字符
    CharacterEventHandler, 来处理监听到的数据,包括添加字符源,和显示字符
    CharacterDisplayCanvas 扩展了charaterListener接口,是观察者的具类
    GenerateCharater(随机产生字符类)扩展了CharaterSource,是被观察者的具类,
    它会随机产生字符,这时会被CharacterDisplayCanvas发现,从而把它显示在component上。
    还特意利用单步跳试过一次,发现线程的执行是每个线程轮流执行一行。现在看到第四章了,同步唤醒机制,wait() and notify()
      

  5.   

    刚刚又学到了条件变量(condition variable):
    当你在请求相同的同步lock以保护共享数据而需要送信号给两个不同的通知对象时,
    条件变量比较有效率。每个lock对象可以创建一个以上的Condition对象,我们可以
    针对一个或一群thread进行独立的设定。设计模式是很重要,《head   first设计模式》这本书上次在书店看到了,觉得里面
    讲的很细,作为入门的书很好,不过太后了:)价钱也较高。图书馆有很多关于设计模式
    的书,有一本叫深入浅出设计模式的,是中国人写的,比较好懂,里面用c#和java两种
    语言举了例子,不过例子有些简单,但对于理解原理已经够了:)