正确答案: B
管道.过滤器
题目:某软件开发公司负责开发一个Web服务器服务端处理软件,其核心部分是对客户端请求消息的解析与处理,包括HTTP报头分离、SOAP报文解析等功能。该公司的架构师决定采用成熟的架构风格指导整个软件的设计,以下()架构风格,最适合该服务端处理软件。
解析:根据题干描述,Web服务器服务端的核心功能是数据处理,由于Web服务在数据传输方面具有协议分层的特征,即底层协议会包装上层协议(HTTP协议体中包含整个SOAP消息内容),因此需要数据内容的逐步分解与分阶段处理。比较选项中的架构风格,由于管道,过滤器的架构风格支持分阶段数据处理,因此特别适合该服务端处理软件的要求。
查看原题 查看所有试题
学习资料的答案和解析:
[单选题]某软件公司承接了为某工作流语言开发解释器的工作。该工作流语言由多种活动节点构成,具有类XML的语法结构。用户要求解释器工作时,对每个活动节点进行一系列的处理,包括执行活动、日志记录、调用外部应用程序等,并且要求处理过程具有可扩展能力。针对这种需求,公司采用()最为恰当。
访问者模式
解析:根据题目的描述,可以看出本题的核心在于对某个具有固定结构的活动节点需要多种处理能力,且处理能力可扩展,也就是说要求在不改变原来类结构(活动节点)的基础上增加新功能。对照4个选项,发现访问者模式最符合要求。
[单选题]某游戏公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和之间的关系。针对该目标,公司应该采用()架构风格最为合适。
解释器
解析:本题主要考查软件架构设计策略与架构风格问题。根据题目描述,该软件系统特别强调用户定义系统中对象的关系和行为这一特性,这需要在软件架构层面提供一种运行时的系统行为定义与改变的能力,根据常见架构风格的特点和适用环境,可以知道最合适的架构设计风格应该是解释器风格。
[单选题]在客户机/服务器系统开发中,采用()时,应将数据层和数据处理层放置于服务器,应用逻辑层、表示逻辑层和表示层放置于客户机。
分布式数据结构
解析:客户机/服务器系统开发时可以采用不同的分布式计算架构:分布式表示架构是将表示层和表示逻辑层迁移到客户机,应用逻辑层、数据处理层和数据层仍保留在服务器上;分布式数据架构是将数据层和数据处理层放置于服务器,应用逻辑层、表示逻辑层和表示层放置于客户机;分布式数据和应用架构数据层和数据处理层放置在数据服务器上,应用逻辑层放置在应用服务器上,表示逻辑层和表示层放置在客户机。
[单选题]博学公司开发一个文档编辑器,该编辑器允许在文档中直接嵌入图形对象,但开销很大。用户在系统设计之初提出编辑器在打开文档时必须十分迅速,可以暂时不显示当前页面以外的图形。针对这种需求,公司可以采用()避免同时创建这些图形对象。
代理模式
解析:本题主要考查设计模式的理解与应用。根据题干描述,该编辑器需要在文档中嵌入显示开销很大的图形对象,为了能够提高系统效率,需要避免同时创建这些图像。这对这些要求,对比候选项,可以发现代理模式可以解决直接访问对象时带来的问题,例如:要访问的对象在远程的机器上;对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问等。因此代理模式是最为合适的设计模式。
[单选题]某公司欲开发一个在线交易系统,在架构设计阶段公司的架构师识别出3个核心质量属性场景。其中“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得到响应”主要与(1)质量属性相关,通常可采用(2)架构策略实现该属性;“当系统由于软件故障意外崩溃后,需要在0.5小时内恢复正常运行”主要与(3)质量属性相关,通常可采用(4)架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与(5)质量属性相关,通常可采用(6)架构策略实现该属性。
解析:本题主要考查考生对质量属性的理解和质量属性实现策略的掌握。对于题干描述:“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得劐响应”,主要与性能这一质量属性相关,实现该属性的常见架构策略包括增加计算资源、减少计算开销、引入并发机制、采用资源调度等。“当系统由于软件故障意外崩溃后,需要在o.s小时内恢复正常运行”主要与可用性质量属性相关,通常可采用心跳、Ping/Echo、主动冗余、被动冗余、选举等架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与安全性质量属性相关,通常可采用入侵检测、用户认证、用户授权、追踪审计等架构策略实现该属性。
[单选题]回调(Call Back)函数是面向过程的程序设计语言中常用的一种机制,而设计模式中的(1)模式就是回调机制的一个面向对象的替代品。该模式的意图是(2)。
解析:Command(命令)模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。Command模式抽象出待执行的动作以参数化某对象,我们可用面向过程语言中的回调函数表达这种参数化机制。所谓回调函数,是指函数先在某处注册,而它将在稍后某个需要的时候被调用。Command模式是回调机制的一个面向对象的替代品。Command模式在不同的时刻指定、排列和执行请求。一个Command对象可以有一个与初始请求无关的生存期。如果一个请求的接收者可用一种与地址空间无关的方式表达,那么就可将负责该请求的命令对象传送给另一个不同的进程并在那里实现该请求。Command模式支持取消操作。Command模式的Excute操作可在实施操作前将状态存储起来,在取消操作时这个状态用来消除该操作的影响。Command接口必须添加一个Unexecute操作,该操作取消上一次Execute调用的效果。执行的命令被存储在一个历史列表中。可通过向后和向前遍历这一列表并分别调用Unexecute和Execute来实现重数不限的"取消"和"重做"。Command模式支持修改日志,这样当系统崩溃时,这些修改可以被重做一遍。在Command接口中添加装载操作和存储操作,可以用来保持变动的一个一致的修改日志。从崩溃中恢复的过程包括从磁盘中重新读入记录下来的命令并用Execute操作重新执行它们。Command模式用构建在原语操作上的高层操作构造一个系统。这样一种结构在支持事务的信息系统中很常见。一个事务封装了对数据的一组变动。Command模式提供了对事务进行建模的方法。Command模式有一个公共的接口,可以用同一种方式调用所有的事务。同时,使用该模式也易于添加新事务以扩展系统。
[单选题]某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如图8-44所示。其中与Factory Method中的"Creator"角色相对应的类是(1);与"Product"角色相对应的类是(2)。
[单选题]某服务器软件系统对可用性(Availability)、性能(Performance)和可修改性(Modification)的要求较高,(1)设计策略能提高该系统的可用性,(2)设计策略能够提高该系统的性能,(3)设计策略能够提高该系统的可修改性。
解析:本题主要考查质量属性以及实现质量属性的一般策略,不同策略主要针对一个或多个软件质量属性,其中Ping/Echo主要提高系统的可用性;限制访问主要提高系统的安全性;运行时注册主要提高系统的可修改性;接口.实现分离主要提高系统的可修改性;主动冗余提高系统的可靠性;队列调度主要提高系统的性能;信息隐藏主要提高系统的可修改性;记录,回放主要提高系统的可测试性,等等。