独立构件风格主要强调系统中的每个构件都是相对独立的个体,它们之间不直接通信,以降低耦合度,提升灵活性。独立构件风格主要包括进程通信和事件系统风格。
1.进程通信体系结构风格
在进程通信结构体系结构风格中,构件是独立的过程,连接件是消息传递。这种风格的特点是构件通常是命名过程,消息传递的方式可以是点到点、异步或同步方式及远程过程调用等。
2.事件系统体系结构风格
事件系统风格基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。
从架构上说,这种风格的构件是一些模块,这些模块既可以是一些过程,又可以是一些事 件的集合。过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件 时,过程被调用。
基于事件的隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。 这使得不能假定构件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系统 也包含显式调用作为构件交互的补充形式。
支持基于事件的隐式调用的应用系统很多。例如,在编程环境中用于集成各种工具,在 数据库管理系统中确保数据的一致性约束,在用户界面系统中管理数据,以及在编辑器中支 持语法检查。例如在某系统中,编辑器和变量监视器可以登记相应Debugger的断点事件。当 Debugger在断点处停下时,它声明该事件,由系统自动调用处理程序,如编辑器可以卷屏(返回)到断点,变量监视器刷新变量数值。而Debugger本身只声明事件,并不关心哪些过程会启 动,也不关心这些过程做什么处理。