“Event/Listener”是我们常用的一种设计模式,其中最常见的莫过于控件事件了。写过Swing程序的同学应该都非常了解,譬如,我们可以调用JButton的addActionListener方法,这样的话,当JButton被点击时,会自动回调你的listener方法。
但正是由于控件事件被用得非常广泛,以至于很多同学把事件当成是控件的一种专有属性,而忽略了“事件”其实是一种典型的Observer模式,它原本可以用来解决更多的架构设计问题。本文,我们来介绍OperaMasks中的“消息总线”。