基于事件系统的概念
显式调用
- 传统上,在组件提供例程和函数集合的系统中,例如面向对象的系统,组件通常通过显式调用这些例程来彼此交互。
显式调用的特点
- 调用者必须知道被调用者的类名、构造方法(包括参数)与要调用的方法(包括参数)
事件系统使用隐式调用
基于事件系统的定义
- 基于事件的系统是这样一种系统,其中不直接调用过程(即间接调用或隐式调用)。
什么是程序?
- 过程是程序设计语言中的一个模块,有无参数。
- 它由过程调用执行。结果将分配给调用参数,或修改此子例程中的global变量。
事件广播**与处理**机制
- 广播机制
- 注册机制
- 系统调用
- 事件发布者可能不负责调用
事件处理策略
怎样将事件发送到已经注册了的组件中呢
- 有独立事件调度模块的系统
- 无中心事件调度模块的系统
事件**调度**模块的责任
- 接收事件
-
策略1:有独立事件调度模块的系统
调度**模块以两种方式**分发事件 调度员可以向系统中的所有模块广播事件
- 调度器只向注册了该事件的模块发送事件:发布/订阅策略
策略2:无独立事件调度模块的系统
这个模型通常被称为观察者/观察者