这种事件模型的一个缺点是,侦听器都必须知道所有发出它们想收到的通知的对象实例。这产生紧密耦合的系统。第二个缺点是这种事件传送机制易受攻击。observer 可以消耗传送线程。最后,侦听器无法针对特定事件注册。侦听器负责决定导致 observable 触发一个通知的状态变化。通过用通知机制封装一个对象,可以稍稍减轻这个问题。
尽管有这些缺点,Java 2 平台的 Observer 模式实现仍是许多小型 Java 应用程序的坚实基础。
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=153191