当前位置:高级系统架构师题库>软件架构设计题库

问题:

[单选,共用题干题]

回调(Call Back)函数是面向过程的程序设计语言中常用的一种机制,而设计模式中的(1)模式就是回调机制的一个面向对象的替代品。该模式的意图是(2)。

空白(1)处应选择()

A . A.Strategy(策略)
B . Adapter(适配器)
C . Command(命令)
D . Observer(观察者)

当不适合采用生成子类的方法对已有的类进行扩充时,可以采用(1)设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用(2)设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用(3)设计模式将该类的接口转换成我们希望的接口。空白(1)处应选择() A.命令(CommanD.。 适配器(Adapter)。 装饰(DecoratE.。 享元(Flyweight)。 如图8-40(a)所示的UML类图描绘的是设计模式中的(1)模式。如图8-40(b)所示的UML类图描述了该模式的一种应用,其中与图8-40(a)中的"Creator"对应的类是(2)。空白(2)处应选择() A.Bank。 Account。 Checking。 Savings。 如图8-40(a)所示的UML类图描绘的是设计模式中的(1)模式。如图8-40(b)所示的UML类图描述了该模式的一种应用,其中与图8-40(a)中的"Creator"对应的类是(2)。空白(1)处应选择() A.Command。 Factory Method。 Composite。 Class Adapter。 基于场景的架构分析方法(Scenarios-basedArchitectureAnalysisMethod,SAAM)是卡耐基梅隆大学软件工程研究所的Kazman等人于1983年提出的一种非功能质量属性的架构分析方法,是最早形成文档并得到广泛应用的软件架构分析方法。SAAM的主要输入是问题描述、(1)和架构描述文档,其分析过程主要包括场景开发、(2)、单个场景评估、场景交互和总体评估。空白(1)处应选择() A.问题说明。 问题建模。 需求说明。 需求建模。 采用以架构为核心的软件开发方法,在建立软件架构的初期,首要任务是选择一个合适的(1),在此基础上,开发人员通过架构模型,可以获得关于(2)的理解,为将来的架构实现与演化过程建立了目标。空白(2)处应选择() A.架构需求。 架构属性。 架构优先级。 架构约束。

回调(Call Back)函数是面向过程的程序设计语言中常用的一种机制,而设计模式中的(1)模式就是回调机制的一个面向对象的替代品。该模式的意图是(2)。

空白(1)处应选择()
参考答案:

  参考解析

Command(命令)模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。Command模式抽象出待执行的动作以参数化某对象,我们可用面向过程语言中的回调函数表达这种参数化机制。所谓回调函数,是指函数先在某处注册,而它将在稍后某个需要的时候被调用。Command模式是回调机制的一个面向对象的替代品。Command模式在不同的时刻指定、排列和执行请求。一个Command对象可以有一个与初始请求无关的生存期。如果一个请求的接收者可用一种与地址空间无关的方式表达,那么就可将负责该请求的命令对象传送给另一个不同的进程并在那里实现该请求。Command模式支持取消操作。Command模式的Excute操作可在实施操作前将状态存储起来,在取消操作时这个状态用来消除该操作的影响。Command接口必须添加一个Unexecute操作,该操作取消上一次Execute调用的效果。执行的命令被存储在一个历史列表中。可通过向后和向前遍历这一列表并分别调用Unexecute和Execute来实现重数不限的"取消"和"重做"。Command模式支持修改日志,这样当系统崩溃时,这些修改可以被重做一遍。在Command接口中添加装载操作和存储操作,可以用来保持变动的一个一致的修改日志。从崩溃中恢复的过程包括从磁盘中重新读入记录下来的命令并用Execute操作重新执行它们。Command模式用构建在原语操作上的高层操作构造一个系统。这样一种结构在支持事务的信息系统中很常见。一个事务封装了对数据的一组变动。Command模式提供了对事务进行建模的方法。Command模式有一个公共的接口,可以用同一种方式调用所有的事务。同时,使用该模式也易于添加新事务以扩展系统。

相关题目:

在线 客服