观察者模式与MVC架构详解
1. 观察者模式概述
观察者(observer)是一种负责响应一个或多个事件的对象,而可观察对象(observable)则能识别特定事件的发生,并维护一个对这些事件感兴趣的观察者列表。当事件发生时,可观察对象会通知其观察者。
观察者模式明确了观察者和可观察对象之间的这种通用关系,但该模式仍存在一些未解决的设计问题:
- 更新方法问题 :可观察对象应向观察者推送哪些值,观察者又应从可观察对象中拉取哪些值。
- 多事件处理问题 :可观察对象应如何处理多种类型的事件,是为每个事件独立处理,使用单独的更新方法和观察者列表,还是以某种方式组合事件处理。
在实际设计中,没有最佳解决方案,设计者需要根据具体情况考虑各种可能性,并权衡利弊。
观察者模式在GUI应用程序设计中尤为有用。JavaFX大量采用了观察者模式,在设计JavaFX应用程序时,几乎不可避免地要广泛使用观察者和可观察对象。即使应用程序没有显式使用观察者,其所使用的类库也很可能会使用。
JavaFX节点支持两种类型的观察者:事件处理程序(event handlers)和变更监听器(change listeners)。事件处理程序用于响应输入事件,如鼠标点击和按键操作,每个事件处理程序都属于某个节点的观察者列表;变更监听器用于响应节点状态的变化,每个变更监听器都属于节点某个属性的观察者列表。通过合理设计事件处理程序和变更监听器,可以为JavaFX屏幕赋予复杂的行为。
2. MVC架构介绍
MVC(Model-View-Contr
超级会员免费看
订阅专栏 解锁全文
1605

被折叠的 条评论
为什么被折叠?



