软件架构(software architecture)是描述某一特定应用领域中系统组织方式的惯用模式,用于指导大型 软件系统各个方面的设计。一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用、指导构件集成的模式以及这些模式的约束组成。软件行业常用的软件架构分类主要是以下几种:
1)批处理序列:组件为一系列固定顺序的计算单元,组件间只通过数据传递交互
2)管道-过滤器:每一个构件都有一组输入和输出,构件读取输入的数据流,经过内部处理,然后产生输出数据流。
1)主程序/子程序:单线程控制,把问题划分为若干处理步骤,构件即为主程序和子程序。子程序通常可合成为模块。过程调用作为交互机制,即充当连接件。
2)面向对象:这种风格的构件是对象。对象是抽象数据类型的实例。在抽象数据类型中,数据的表示和它们的相应操作被封装起来。对象的行为体现在其接受和请求的动作。连接件即对象间交互的方式,对象是通过函数和过程的调用来交互的。对象具有封装性,一个对象的改变不会影响其他对象。对象拥有状态和操作,也有责任维护状态。这种结构风格中包含有封装、交互、多态、集成和重用等特征。
3)层次结构:层次系统组织成一个层次结构,每一层为上层服务,并作调用下一层的服务。
1)进程通信:通过消息传递来连接构件
2)事件驱动:基于事件的隐式调用风格。系统不直接调用构件,构件的过程注册到事件,当事件被触发,则注册于其中的所有构件都被执行。观察者模式。
1)解析器:一个解释器通常包括完成解释工作的解释引擎,一个包含将被解释的代码的存储区,一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被解释执行的进度的数据结构。具有解释器风格的软件中含有一个虚拟机,可以仿真硬件的执行过程和一些关键应用;其缺点是执行效率较低。
2)基于规则系统:基于规则的系统包括规则集、规则解释器、规则/数据选择器及工作内存。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删