软件架构风格整理(3 独立构件风格 4 虚拟机风格)
1 独立构件风格1.1 进程通讯
进程通信架构风格。构件是独立的过程,连接件是消息传递。这种风格的特点是构件通常是命名过程,消息传递的方式可以是点到点、异步和同步方式及远过程调用等。
1.2 事件系统事件驱动架构风格。构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程。一个事件的触发就导致了另一个模块中过程的调用。
这种风格中的构件是非命名的过程,它们之间交互的连接件往往是以过程之间的隐式调用(Implicit Invocation)来实现的。
主要优点:
1) 为软件重用提供了强大的支持。当需要将一个构件加入现存系统中时,只要将它注册到系统的事件中;(复用,扩展)
2) 为改进系统带来了方便。当用一个构件代替另一个构件时,不会影响到其他构件的接口;
3) 易于系统升级
主要缺点:
1) 件放弃了对系统计算的控制。一个构件触发一个事件时.不能确定其他构件是否会晌应它。而且即使它知道事件注册了哪些构件的构成.它也不能保证这些过程被调用的顺序。
2) 数据交换的问题,有时数据可被一个事件传递,但另一些情况下.基于事件的系统必须依靠一个共享的仓库进行交互。在这些情况下.全局性能和资源管理便成了问题。
3) 既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题
"
2 虚拟机风格2.1 解释器一个解释器通常包括完成解释工作的解释引擎,一个包含将被解释的代码的存储区,一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被解释执行的进度的数据结构。
具有解释器风格的软件中含有一个虚拟机,可以仿真硬件的执行过程和一些关键应用;解释器通常被用来建立一种虚拟机以祢合程序语义与硬件语义之间的差异
其缺点是执行效率较低
典型的例子是专家系统
2.2 基于规则的系统 基于规则的系统包括规则集、规则解释器、规则/数据选择器及工作内存