问题一:
什么是软件架构风格?
软件架构风格指特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式。惯用模式反映了众多系统所共有的结构和语义。
集成开发环境与用户的交互方式
(实际上询问在交互方面,以数据存储为中心的架构风格相比于管道-过滤器架构风格的优势)
用户在软件开发环境下对脚本语言进行编辑,解释执行与调试时会和软件进行大量的交互,采用以数据存储为中心的架构风格可以很好的支持交互式数据处理,而管道 - 过滤器架构风格对用户的交互式数据处理支持有限。
集成开发环境的扩展性
(实际上询问在扩展性方面,以数据存储为中心的架构风格相比于管道-过滤器架构风格的优势)
因为集成开发环境需要提供对脚本语言的编辑,语法检查,解释,执行和调试等功能的支持,还要实现各种功能的灵活组合,配置和替换,所以开发环境需要有较高的扩展性,采用以数据存储为中心的架构风格,以数据格式解耦各个功能之间的依赖关系,并可以灵活定义功能之间的逻辑顺序,而管道-过滤器架构风格的扩展性相比较差
集成开发环境的数据管理
(实际上询问在数据管理方面,以数据存储为中心的架构风格相比于管道-过滤器架构风格的优势)
集成开发环境需要支持脚本语言,语法树,可视化模型,调试信息等多种数据类型,以数据存储为中心的架构风格将数据存储在统一的中心存储器中,中心存储器能够表示多种数据格式,并能够为数据格式的转换提供多种支持。管道-过滤器架构风格只支持有限的数据格式,并且在数据格式转换方面的灵活性较差
问题二:
为了满足需求(2),应该使用解释器架构风格,架构设计过程(我们要如何实现需求 2):
(1).为可视化编程元素和拖拽关系定义某种语言,并描述其语法和语义
(2).编写解释器对该语言进行解释
(3).生成对应的脚本语言程序
为了满足需求(3),应该使用事件驱动架构风格(隐式调用架构风格),架构设计过程:
(1).定义一个“调试断点”命中的事件,并实现当断点命中后要调用的屏幕定位函数
(2)集成开发环境会维护一个事件注册表,将“调试断点”命中这个事件和屏幕定位函数关联起来,添加进事件注册表中。
(3)集成开发环境要时刻的监视系统中发生的事件,但发生.“调试断点”命中这一事件后,要去事件注册表中找到对应的事件,执行屏幕定位函数,从而将屏幕定位到当前代码处