首页 理论教育 基于事件的隐式调用风格:软件系统分析与体系结构设计

基于事件的隐式调用风格:软件系统分析与体系结构设计

时间:2023-10-16 理论教育 版权反馈
【摘要】:基于事件的隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响,不能假定构件的处理顺序,甚至不知道哪些过程会被调用。如在某系统中,编辑器和变量监视器可以登记相应的Debugger断点事件。当Debugger在断点处停下时,它声明该事件由系统自动调用处理程序。基于事件的隐式调用风格的优点在于:便于重用。

基于事件的隐式调用风格:软件系统分析与体系结构设计

这种软件体系结构风格的基本思想是,构件不直接调用一个过程,而是触发或广播一个或多个事件。系统其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用这个事件中注册的所有过程。这样,一个事件触发就导致了另一模块中的过程的调用。系统中存在事件接收器和事件处理器,在某种消息机制的控制下,系统可以作为一个整体与环境相适应。系统中的子系统有自身的整体性和相对独立性,与其他子系统的联系是通过消息传递来完成的。在这种风格中构件是一些模块,既可以是一些过程,也可以是一些事件的集合。过程可以用通用的方式调用,也可以在系统事件中注册,当发生这些事件时,过程被调用。

基于事件的隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响,不能假定构件的处理顺序,甚至不知道哪些过程会被调用。因此,许多隐式调用的系统也包含显式调用作为构件交互的补充形式。

基于事件的隐式调用风格的应用有:在编程环境中用于集成各种工具;在数据库管理系统中确保数据的一致性约束;在用户界面系统中管理数据;在编辑器中支持语法检查。如在某系统中,编辑器和变量监视器可以登记相应的Debugger断点事件。当Debugger在断点处停下时,它声明该事件由系统自动调用处理程序。Debugger本身只声明事件,并不关心哪些过程会启动,也不关心这些过程做什么处理。

基于事件的隐式调用风格的优点在于:

(1)便于重用。这是因为在任何属于同一类型的系统中,系统的高级管理子系统的描述是完全类似的。

(2)易实现并发处理和多任务操作。这是因为最高管理子系统牢牢地掌握着控制权,而各同级子系统一般不直接发生关系。(www.xing528.com)

(3)具有良好的可扩展性。设计者只需为某个对象注册一个事件处理接口就可以将该对象引入整个系统,同时不影响其他的系统对象。

(4)类结构简明,代码简化。

基于事件的隐式调用风格也有其缺点,如构件削弱了自身对系统计算的控制能力、数据共享能力降低、系统中各个对象的逻辑关系变得更加复杂等。

基于面向对象模式的系统由多个封装起来的对象构成,对象之间通过消息传递实现通信,而事件驱动正是对消息传递机制的一种实现,因此基于事件的隐式调用风格的系统往往都是面向对象的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈