软件架构风格:是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式反应了众多系统共有的结构和语义。
一个接一个,以整体为单位
一个接一个,前一个输出是后一个输入
管道过滤器:每个构件都有一组输入和输出,构件接收数据输入,经内部处理,产生数据输出。构件为过滤器,构件的连接件为数据传输的管道。
两者常考: 传统编译器,每个阶段产生的结果做为下一个阶段的输入,区别在于整体。
显式调用,主程序直接调用子程序
主程序-子程序架构风格中:所有的计算构件作为子程序写作工作,并由一个主程序顺序的调用这些子程序,构件通过共享存储区交换数据。
对象是构件,通过对象调用封装的方法和属性。
分层,每层最多影响其上下两层,有调用关系。
进程间独立的消息传递,同步异步。
不直接调用,通过事件驱动。
常考: 事件触发推动动作,如程序语言的语法高亮、语法错误提示。
1. 定义事件,和事件的函数
2. 事件注册表,关联事件和函数
3. 监听,监听到时间发生去注册表中找到对应函数执行
解释自定义规则,解释引擎、存储区、数据结构。
1. 定义规则,描述其语法语义
2. 编写解释器对规则语言进行解释
3. 生成对应的语言程序
规则集、规则解释器、选择器和工作内存,用于DSS和人工智能、专家系统。
二者考点:自定义流程,按流程执行,规则随时改变,灵活定义,业务灵活组合。机器人。
中央共享数据源,独立处理单元。
1. 交互方式:很好的支持交互式数据处理
2. 扩展性: 解耦各种功能之间的依赖关系,并可以灵活定义功能之间的逻辑顺序
3. 数据管理:支持多种数据类型,支持持数据格式的转换
网状链接, 多用于互联网。
语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的这一类软件系统,黑板、知识源、控制。
三者考点:现代编译器的集成开发环境IDE,以数据为中心。又称为数据共享风格。
发出控制命令并接受反馈,循环往复达到平衡。
考点: 汽车巡航定速,空凋温度调节,设定参数,并不断调整。
通过连接件绑定在一起按照一规则运作的并行构件网络。
考点: 构件和连接件、顶部和底部