Appearance
上文介绍了5种业界主流的架构风格,接下来就是将架构风格引入到面试题中,探索架构岗对架构风格会问出哪些问题。
1.Windows操作系统在图形用户界面处理方面采用的核心架构风格是什么风格?
答案:它属于独立构件风格中的“事件驱动”软件架构风格
解析:Windows操作系统在图形用户界面处理方面采用的是典型的"事件驱动"的架构风格,首先注册事件处理的是回调函数,当某个界面事件发生时(例如键盘敲击、鼠标移动等),系统会查找并选择合适的回调函数处理该事件。
加分项:能结合注册事件处理和回调函数进行深入分析
2.Java语言宣传的一次编写,到处运行”的特性从架构风格上看符合什么风格的特点?
答案:“虚拟机”架构风格
解析:Java语言是一种解释型语言,在Java虚拟机.上运行,这从架构风格.上看是典型的“虚拟机"风格,即通过虚拟机架构屏蔽不同的硬件环境。
加分项:能结合Java解释型语言、JVM原理,进行深入分析
3.如果要开发一个Web服务端处理软件,对客户端请求消息进行解析与处理,包括HTTP报头分离、SOAP报文解析等功能。采用什么架构风格,最适合该服务端处理软件?
答案:“管道-过滤器”软件架构风格
解析:Web服务器服务端的核心功能是数据处理,由于Web服务在数据传输方面具有协议分层的特征,即底层协议会包装上层协议(HTTP协议体中包含整个SOAP消息内容),因此需要数据内容的逐步分解与分阶段处理。比较各种的架构风格,管道-过滤器的架构风格支持分阶段数据处理,因此特别适合该服务端处理软件的要求。
加分项:能结合Web服务在数据传输上的协议分层原理进行深入分析
4.某公司承接了一个开发家用空调自动调温器的任务调温器测量外部空气温度,根据设定的期望温度控制空调的开关。根据该需求,公司应采用架构风格最为合适?
答案:“过程控制”架构风格
解析:调温器需要实时获取外界的温度信息,与用户定义的温度进行比较并做出动作。根据该系统的应用领域和实际需求,可以看出这是一个典型的过程控制架构风格的应用场景。
5.某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系。针对该目标,公司应该采用架构风格最为合适?
答案:“解释器“架构风格
解析:自定义地图,并且能够运行,故选解释器。