单选题
Windows操作系统在图形用户界面处理方面采用的核心架构风格是______风格。Java语言宣传的“一次编写,到处运行”的特性,从架构风格上看符合______风格的特点。
单选题
- A.虚拟机
- B.管道-过滤器
- C.事件驱动
- D.微内核-扩展
单选题
- A.虚拟机
- B.管道-过滤器
- C.事件驱动
- D.微内核-扩展
【正确答案】
A
【答案解析】[解析] Windows操作系统在图形用户界面处理方面采用的是典型的“事件驱动”的架构风格。首先注册事件处理的是回调函数,当某个界面事件发生时(如键盘敲击、鼠标移动等),系统会查找并选择合适的回调函数处理该事件。Java语言是一种解释型语言,在Java虚拟机上运行,这从架构风格上看是典型的“虚拟机”风格,即通过虚拟机架构屏蔽不同的硬件环境。
单选题
某软件开发公司负责开发一个Web服务器服务端处理软件,其核心部分是对客户端请求消息的解析与处理,包括HTTP报头分离、SOAP报文解析等功能。该公司的架构师决定采用成熟的架构风格指导整个软件的设计,以下______架构风格,最适合该服务端处理软件。
- A.虚拟机
- B.管道-过滤器
- C.黑板结构
- D.分层结构
【正确答案】
B
【答案解析】[解析] 根据题干描述,Web服务器服务端的核心功能是数据处理,由于Web服务在数据传输方面具有协议分层的特征,即底层协议会包装上层协议(HTTP协议体中包含整个SOAP消息内容),因此需要数据内容的逐步分解与分阶段处理。比较选项中的架构风格,由于管道-过滤器的架构风格支持分阶段数据处理,因此特别适合该服务端处理软件的要求。
单选题
希赛公司欲开发一个基于图形用户界面的集成调试器。该调试器的编辑器和变量监视器可以设置调试断点。当调试器在断点处暂停运行时,编辑程序可以自动卷屏到断点,变量监视器刷新变量数值。针对这样的功能描述,采用______的架构风格最为合适。
- A.数据共享
- B.虚拟机
- C.隐式调用
- D.显式调用
【正确答案】
C
【答案解析】[解析] 根据题干描述,调试器在设置端点时,其本质是在断点处设置一个事件监听函数,当程序执行到断点位置时,会触发并调用该事件监听函数,监听函数负责进行自动卷屏、刷新变量数值等动作。这是一个典型的回调机制,属于隐式调用的架构风格。
单选题
某公司欲开发一种工业机器人,用来进行汽车零件的装配。公司的架构师经过分析与讨论,给出了该机器人控制软件的两种候选架构方案:闭环控制和分层结构。以下对于这两种候选架构的选择理由,错误的是______。
- A.应该采用闭环控制架构,因为闭环结构给出了将软件分解成几个协作构件的方法,这对于复杂任务特别适合
- B.应该采用闭环控制结构,因为闭环控制架构中机器人的主要构件监控器、传感器、发动机等)是彼此分开的,并能够独立替换
- C.应该采用分层结构,因为分层结构很好地组织了用来协调机器人操作的构件,系统结构更加清晰
- D.应该采用分层结构,因为抽象层的存在,满足了处理不确定性的需要:在较低层次不确定的实现细节在较高层次会变得确定
【正确答案】
A
【答案解析】[解析] 采用闭环结构的软件通常由几个协作构件共同构成,且其中的主要构件彼此分开,能够进行替换与重用,但闭环结构通常适用于处理简单任务(如机器装配等),并不适用于复杂任务。分层结构的特点是通过引入抽象层,在较低层次不确定的实现细节在较高层次会变得确定,并能够组织层间构件的协作,系统结构更加清晰。
单选题
一个软件的架构设计是随着技术的不断进步而不断变化的。以编译器为例,其主流架构经历了管道-过滤器到数据共享为中心的转变过程。以下关于编译器架构的叙述中,错误的是______。
- A.早期的编译器采用管道-过滤器架构风格,以文本形式输入的代码被逐步转化为各种形式,最终生成可执行代码
- B.早期的编译器采用管道-过滤器架构风格,并且大多数编译器在词法分析时创造独立的符号表,在其后的阶段会不断修改符号表,因此符号表并不是程序数据的一部分
- C.现代的编译器采用以数据共享为中心的架构风格,主要关心编译过程中程序的中间表示
- D.现代的编译器采用以数据共享为中心的架构风格,但由于分析树是在语法分析阶段结束后才产生作为语义分析的输入,因此分析树不是数据中心的共享数据
【正确答案】
D
【答案解析】[解析] 一个软件的架构设计是随着技术的进步而不断变化的。以编译器为例,其主流架构经历了管道-过滤器到数据共享为中心的转变过程。早期的编译器采用管道-过滤器架构风格,以文本形式输入的代码被逐步转化为各种形式,最终生成可执行代码。早期的编译器采用管道-过滤器架构风格,并且大多数编译器在词法分析时创造独立的符号表,在其后的阶段会不断修改符号表,因此符号表并不是程序数据的一部分。现代的编译器采用以数据共享为中心的架构风格,主要关心编译过程中程序的中间表示。现代的编译器采用以数据共享为中心的架构风格,分析树是在语法分析阶段结束后才产生作为语义分析的输入,分析树是数据中心中重要的共享数据,为后续的语义分析提供了帮助。