正确答案: C
访问者模式
题目:某软件公司承接了为某工作流语言开发解释器的工作。该工作流语言由多种活动节点构成,具有类XML的语法结构。用户要求解释器工作时,对每个活动节点进行一系列的处理,包括执行活动、日志记录、调用外部应用程序等,并且要求处理过程具有可扩展能力。针对这种需求,公司采用()最为恰当。
解析:根据题目的描述,可以看出本题的核心在于对某个具有固定结构的活动节点需要多种处理能力,且处理能力可扩展,也就是说要求在不改变原来类结构(活动节点)的基础上增加新功能。对照4个选项,发现访问者模式最符合要求。
查看原题 查看所有试题
学习资料的答案和解析:
[单选题]服务组件体系结构(Service Component Architecture,SCA)是基于面向服务体系结构(Service Oriented Architecture,SOA)的思想描述服务之间组合和协作的规范。以下关于SCA的叙述,不正确的是()
SCA加强组件的接口与传输协议的关联,提高组件的内聚性
解析:服务组件体系结构(SCA)是一个规范,它描述用于使用SOA构建应用程序和系统的模型。它可简化使用SOA进行的应用程序开发和实现工作。SCA提供了构建粗粒度组件的机制,这些粗粒度组件由细粒度组件组装而成。SCA将传统中间件编程从业务逻辑分离出来,从而使程序员免受其复杂性的困扰。它允许开发人员集中精力编写业务逻辑,而不必将大量的时间花费在更为底层的技术实现上。SCA方法的优势包括:简化业务组件开发;简化作为服务网络构建的业务解决方案的组装和部署;提高可移植性、可重用性和灵活性;通过屏蔽底层技术变更来保护业务逻辑资产;提高可测试性。SCA服务组件与传统组件的主要区别在于:服务组件往往是粗粒度的,而传统组件以细粒度居多;服务组件的接口是标准的,主要是WSDL接口,而传统组件常以具体API形式出现;服务组件的实现与语言是无关的,而传统组件常绑定某种特定的语言;服务组件可以通过组件容器提供QoS的服务,而传统组件完全由程序代码直接控制。
[单选题]在客户机/服务器系统开发中,采用()时,应将数据层和数据处理层放置于服务器,应用逻辑层、表示逻辑层和表示层放置于客户机。
分布式数据结构
解析:客户机/服务器系统开发时可以采用不同的分布式计算架构:分布式表示架构是将表示层和表示逻辑层迁移到客户机,应用逻辑层、数据处理层和数据层仍保留在服务器上;分布式数据架构是将数据层和数据处理层放置于服务器,应用逻辑层、表示逻辑层和表示层放置于客户机;分布式数据和应用架构数据层和数据处理层放置在数据服务器上,应用逻辑层放置在应用服务器上,表示逻辑层和表示层放置在客户机。
[单选题]识别风险点、非风险点、敏感点和权衡点是软件架构评估过程中的关键步骤。针对某系统所作的架构设计中,“系统需要支持的最大并发用户数量直接影响传输协议和数据格式”描述了系统架构设计中的一个(1):“由于系统的业务逻辑目前尚不清楚,因此现有系统三层架构中的第2层可能会出现功能重复,这会影响系统的可修改性”描述了系统架构设计中的一个(2)。
解析:本题考查架构设计中的一些基本概念。风险点与非风险点不是以标准专业术语形式出现的,只是一个常规概念,即可能引起风险的因素,可称为风险点。敏感点是一个或多个构件(和/或构件之间的关系)的特性。研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。
[单选题]当不适合采用生成子类的方法对已有的类进行扩充时,可以采用(1)设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用(2)设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用(3)设计模式将该类的接口转换成我们希望的接口。
解析:本题考查面向对象设计。装饰模式主要的目的是在无法生成子类的情况下给一个对象动态地增加新的职责;享元设计模式是共享大量细粒度的对象;适配器设计模式则是将已有的接口转换为系统希望的接口形式。
[单选题]正确识别风险点、非风险点、敏感点和权衡点是进行软件架构评价的关键步骤。其中(1)是实现一个特定质量属性的关键特征,该特征为一个或多个软件构件所共有。"改变加密的级别可能会对安全性和性能都产生显著的影响",这是一个对系统(2)的描述。
解析:本题主要考查软件架构评价的理解和应用。正确识别风险点、非风险点、敏感点和权衡点是进行软件架构评价的关键步骤。其中敏感点是实现一个特定质量属性的关键特征,该特征为一个或多个软件构件所共有。系统权衡点会影响一个或多个属性,并对于多个属性来说都是敏感点。基于该定义,可以看出"改变加密的级别可能会对安全性和性能都产生显著的影响"正是一个对系统权衡点的描述。
[单选题]软件质量属性通常需要采用特定的设计策略实现。例如,(1)设计策略能提高该系统的可用性,(2)设计策略能够提高该系统的性能,(3)设计策略能够提高该系统的安全性。
解析:本题考查提高质量属性的常见手段。提高可用性的手段包括:命令/响应机制、心跳机制、异常处理机制、冗余机制等。提高性能的手段包括:引入并发、维持数据或计算的多个副本、增加可用资源、控制采样频度、限制执行时间、固定优先级调度等。提高安全性的手段包括:身份认证、限制访问、检测攻击、维护完整性等。