正确答案:

题目:某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图,如图8-41所示。图中与Command模式中的"Invoker"角色相对应的类是(1),与"ConcreteCommand"角色相对应的类是(2)。

解析:Command(命令)模式是设计模式中行为模式的一种,它将"请求"封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。Command模式也支持可撤销的操作。Command模式的类图如图8-42所示。对于题目所给出的图,与"Invoker"角色相对应的类是MenuItem,与"ConcreteCommand"角色相对应的类是Open。

查看原题 查看所有试题

学习资料的答案和解析:

  • [单选题]系统应用架构设计中,网络架构数据流图的主要作用是将处理器和设备分配到网络中。()不属于网络架构数据流图的内容。
  • 单位时间的数据流大小

  • 解析:应用架构建模中要绘制的第一个物理数据流图(PDFD)是网络架构DFD,它们不显示单位时间的数据流量,需要显示的信息包括服务器及其物理位置、客户端及其物理位置、处理器说明、传输协议。

  • [单选题]某软件公司基于面向对象技术开发了一套图形界面显示构件库Visual Component。在使用该库构建某图形界面时,用户要求为界面定制一些特效显示效果,如带滚动条、能够显示艺术字体的透明窗体等。针对这种需求,公司采用()最为灵活。
  • 装饰模式

  • 解析:本题考查设计模式的应用。每一种设计模式,都有自身的一些优势,以应对某些特定的应用场合。根据题目的描述,需要开发的是图形界面构件库,并要求为图形界面提供一些定制的特效,如带滚动条的图形界面,能够显示艺术字体且透明的图形界面等。这要求能够动态地对一个对象进行功能上的扩展,也可以对其子类进行功能上的扩展。对照选项中的4种设计模式,装饰模式最符合这一要求。

  • [单选题]博学公司欲开发一套窗体图形界面类库。该类库需要包含若干预定义的窗格(Pane)对象,例如TextPane、ListPane等,窗格之间不允许直接引用。基于该类库的应用由一个包含一组窗格的窗口组成,并需要协调窗格之间的行为。基于该类库,在不引用窗格的前提下实现窗格之间的协作,应用开发者应采用()最为合适。
  • 中介者模式

  • 解析:本题主要考查设计模式的理解与应用。根据题干描述,应用系统需要使用博学公司开发的类库,该应用系统是一组窗格组成,应用需要协调窗格之间的行为,并且不能引用窗格自身,在这种要求下,对比4个候选项,其中中介者模式用一个中介对象封装一系列的对象交互。中介者使用各对象不需要显式的相互调用,从而使其耦合松散。可以看出该模式最符合需求。

  • [单选题](1)描述了一类软件架构的特征,它独立于实际问题,强调软件系统中通用的组织结构选择。垃圾回收机制是Java语言管理内存资源时常用的一种(2)。
  • 解析:本题考查架构风格与设计模式概念。架构风格往往是从全局的角度来考虑问题,它是一种独立于实际问题的通用组织结构。例如,常用的B/S架构,在很多不同的系统中,都有应用。而设计模式着眼于解决某一特定的局部问题,是一种局部解决方案的应用。例如,在很多的软件系统中,创建对象时,希望有统一的机制对这些对象的创建进行管理,所以出现了工厂模式,创建者模式等设计模式。而内存垃圾的回收机制也做成了一种设计模式。

  • [单选题]识别风险点、非风险点、敏感点和权衡点是软件架构评估过程中的关键步骤。针对某系统所作的架构设计中,“系统需要支持的最大并发用户数量直接影响传输协议和数据格式”描述了系统架构设计中的一个(1):“由于系统的业务逻辑目前尚不清楚,因此现有系统三层架构中的第2层可能会出现功能重复,这会影响系统的可修改性”描述了系统架构设计中的一个(2)。
  • 解析:本题考查架构设计中的一些基本概念。风险点与非风险点不是以标准专业术语形式出现的,只是一个常规概念,即可能引起风险的因素,可称为风险点。敏感点是一个或多个构件(和/或构件之间的关系)的特性。研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。

  • [单选题]采用以架构为核心的软件开发方法,在建立软件架构的初期,首要任务是选择一个合适的(1),在此基础上,开发人员通过架构模型,可以获得关于(2)的理解,为将来的架构实现与演化过程建立了目标。
  • 解析:本题主要考查以架构为核心的软件系统开发方法。在该方法中,架构用来激发和调整设计策略,不同的视图用来表达与质量目标有关的信息。架构设计是一个迭代过程,在建立软件架构的初期,选择一个合适的架构风格是首要的,在此基础上,开发人员通过架构模型,可以获得关于软件架构属性的理解,为将来的架构实现与演化过程建立了目标。

  • [单选题](1)的选择是开发一个软件系统时的基本设计决策;(2)是最底层的模式,关注软件系统的设计与实现,描述了如何实现构件及构件之间的关系。引用计数是C++管理动态资源时常用的一种(3)。
  • 解析:模式是给定上下文中普遍问题的普遍解决方案,在架构方面,分高层的模式与低层的模式。架构模式是软件设计中的高层决策,如C/S结构就属于架构模式,架构模式反映了开发软件系统过程中所作的基本设计决策;设计模式主要关注软件系统的设计,与具体的实现语言无关:惯用法则是实现时通过某种特定的程序设计语言来描述构件与构件之间的关系,如引用一计数就是C++语言中的一种惯用法。

  • [单选题]基于软件架构的设计(ArchitectureBasedSoftwareDevelopment,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用(1)来描述软件架构,采用(2)来描述需求。
  • 解析:根据基于软件架构的设计的定义,基于软件架构的设计(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。

  • 必典考试
    推荐下载科目: 面向对象方法题库 系统可靠性题库 软件架构设计题库 系统安全性和保密性题库 系统开发基础知识题库 应用数学题库 多媒体基础知识题库 系统性能评价题库 嵌入式系统题库 信息系统综合知识题库
    @2019-2025 必典考网 www.51bdks.net 蜀ICP备2021000628号 川公网安备 51012202001360号