- 今天刚看了事件驱动,忽然想起 symphony 源码里有个 event 包,这个是不是就是事件驱动?
然后想起前两天的项目中的一些功能也可以用这个模式。。。 - 首先谈谈【事件驱动模型,观察者模式,消息队列】三者的关系
- 还有,“事件驱动模型”的关键是不是就在于“事件”,决定了哪些业务(或功能)能够使用该模式
谈谈事件驱动模型
相关帖子
-
sucre •作者
PluginManager#load() | 插件管理加载事件驱动模型 | EventManager#fireEventSynchronously(Event event) | Fire the specified event synchronously. | SynchronizedEventQueue#fireEvent(Event event) | Fires the specified event. | AbstractEventQueue#notifyListeners(Event event) | Notifies all listeners of this event queue to perform action. If this event queue object has | changed, as indicated by the hasChanged method, then notify all of its listeners and then call | the clearChanged method to indicate that this object has no longer changed. | AbstractEventListener#performAction(AbstractEventQueue eventQueue, Event event) | Performs the listener action method with the specified event queue and event. | abstract AbstractEventListener#action(Event event) 在响应的Listener中实现AbstractEventListener#action(Event event) --------------------------------------------------------------------------------------------- 1. 发出事件(是不是叫"驱动事件"专业点?) 在业务逻辑中通过EventManager#fireEventAsynchronously(Event event)发出一条事件,并通过event.type指定事件类型。 2. 监听器的实现 通过实现AbstractEventListener#getEventType()决定调用对应的Listener#action(Event)。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于