正确答案:
题目:回调(Call Back)函数是面向过程的程序设计语言中常用的一种机制,而设计模式中的(1)模式就是回调机制的一个面向对象的替代品。该模式的意图是(2)。
解析:Command(命令)模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。Command模式抽象出待执行的动作以参数化某对象,我们可用面向过程语言中的回调函数表达这种参数化机制。所谓回调函数,是指函数先在某处注册,而它将在稍后某个需要的时候被调用。Command模式是回调机制的一个面向对象的替代品。Command模式在不同的时刻指定、排列和执行请求。一个Command对象可以有一个与初始请求无关的生存期。如果一个请求的接收者可用一种与地址空间无关的方式表达,那么就可将负责该请求的命令对象传送给另一个不同的进程并在那里实现该请求。Command模式支持取消操作。Command模式的Excute操作可在实施操作前将状态存储起来,在取消操作时这个状态用来消除该操作的影响。Command接口必须添加一个Unexecute操作,该操作取消上一次Execute调用的效果。执行的命令被存储在一个历史列表中。可通过向后和向前遍历这一列表并分别调用Unexecute和Execute来实现重数不限的"取消"和"重做"。Command模式支持修改日志,这样当系统崩溃时,这些修改可以被重做一遍。在Command接口中添加装载操作和存储操作,可以用来保持变动的一个一致的修改日志。从崩溃中恢复的过程包括从磁盘中重新读入记录下来的命令并用Execute操作重新执行它们。Command模式用构建在原语操作上的高层操作构造一个系统。这样一种结构在支持事务的信息系统中很常见。一个事务封装了对数据的一组变动。Command模式提供了对事务进行建模的方法。Command模式有一个公共的接口,可以用同一种方式调用所有的事务。同时,使用该模式也易于添加新事务以扩展系统。
查看原题 查看所有试题
学习资料的答案和解析:
[单选题]在企业应用系统开发中,方法调用(Method Invocation)和消息(Messaging)机制是两种常用的数据处理与交换方式,下面关于这两种机制的描述,不正确的是()
从效率方面考虑,一般情况下消息机制比方法调用更有优势
解析:方法调用是指当某个事件发生时,调用某个对象的方法来处理事件。消息机制是指当某个事件发生时,把相关的消息发送给某些对象(一个或多个),相关对象捕获消息后,进行相应的处理。从以上定义可以看出,方法调用一般具有同步特性,而消息机制具有异步的特点。在消息调用机制中,消息是通过消息总线进行发送的,可以支持多个数据的发送者和接收者,更加灵活。从效率方面考虑,由于方法调用指定调用某个对象的方法,同步进行,所以效率要高一些。而消息机制由于采用异步方法,数据不一定得到很快的处理,具体要根据接收消息的对象的处理情况,所以一般情况下效率会低一些。但是,从可靠性方面考虑,由于消息机制是通过系统总线来完成,且可能有多个接收者,所以比方法调用更有优势。
[单选题]识别风险点、非风险点、敏感点和权衡点是软件架构评估过程中的关键步骤。针对某系统所作的架构设计中,“系统需要支持的最大并发用户数量直接影响传输协议和数据格式”描述了系统架构设计中的一个(1):“由于系统的业务逻辑目前尚不清楚,因此现有系统三层架构中的第2层可能会出现功能重复,这会影响系统的可修改性”描述了系统架构设计中的一个(2)。
解析:本题考查架构设计中的一些基本概念。风险点与非风险点不是以标准专业术语形式出现的,只是一个常规概念,即可能引起风险的因素,可称为风险点。敏感点是一个或多个构件(和/或构件之间的关系)的特性。研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。
[单选题]基于软件架构的设计(ArchitectureBasedSoftwareDevelopment,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用(1)来描述软件架构,采用(2)来描述需求。
解析:根据基于软件架构的设计的定义,基于软件架构的设计(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。