在很多流行的交互式绘图程序中,当用户选择不同的绘图工具时图形编辑器的行 为将随当前工具的变化而改变。例如当一个“绘制椭圆”工具被激活时,可以创建椭圆对象; 当一个“选择”工具被激活时,可以选择图形对象;当一个“填充”工具被激活时,可以给图形 填充颜色等。在该程序中,可以使用( )设计模式来根据当前的工具改变编辑器的行为。
A.工厂方法(Factory Method)
B.状态(State)
C.备忘录(Memento)
D.访问者(Visitor)
试卷相关题目
- 1在某飞行器模拟系统中,用户通过调节参数可以得到飞机的燃油消耗曲线和发动 机燃烧效率曲线,用户可以向文本框输人参数值,也可以通过滑块来设置参数值,还可以通 过下拉框来选择参数值。系统界面如图9-5所示。在该系统的设计中,可以使用( )设 计模式。
A.适配器或命令 C.中介者或观察者
B.工厂方法或外观D.策略或模板方法
开始考试点击查看答案 - 2关于访问者模式中的对象结构的描述错误的是( )。
A.它实现了 acceptO方法,该操作以一个具体访问者作为参数
B.可以提供一个高层的接口以允许访问者访问它的元素
C.可以是一个组合模式或是一个集合
D.能够枚举其中包含的元素
开始考试点击查看答案 - 3以下关于访问者模式的叙述错误的是( )。
A.访问者模式表示一个作用于某对象结构中的各元素的操作
B.访问者模式使我们可以在不改变各元素的类的前提下定义作用于这些元素的 新操作
C.在访问者模式中,ObjectStructure提供一个高层接口以允许访问者访问它的 元素
D.访问者模式使增加新的元素变得很简单
开始考试点击查看答案 - 4以下关于模板方法模式的叙述错误的是( )。
A.模板方法模式定义了一个操作中算法的骨架,而将一些步骤延迟到子类中
B.模板方法模式是一种对象行为型模式
C.模板方法使子类可以不改变一个算法的结构即可重定义该算法的某些特定 步骤
D.模板方法不仅可以调用原始的操作,还可以调用定义于AbstractClass中的方 法或其他对象中的方法
开始考试点击查看答案 - 5某系统中的某子模块需要为其他模块提供访问不同数据库系统(Oracle、SQL Server,DB2 UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程 却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行査询。可使用( )设 计模式抽象出相同的数据库访问过程。
A.观察者
B.访问者
C.模板方法
D.策略
开始考试点击查看答案 - 6在Java异常处理中经常存在与下述代码片段类似的代码:try {catch(ArithmeticException are) {System, out. println(n弊术错误! ”);}catch(ClassNotFoundExceptionel} {373七60.0此.011111:111(”类没有找到!");}catch(SQLException e2) {System, out. println("数据库操作错误! M >;分析上述代码,在Java异常处理机制中蕴含了( )设计模式。
A.命令(Command)
B.观察者(Observer)
C.迭代器(Iterator)
D.职责链(Chain of Responsibility)
开始考试点击查看答案 - 7( )全为对象行为型设计模式。
A.单例模式、建造者模式和工厂方法模式
B.组合模式、桥接模式和代理模式
C.职责链模式、备忘录模式和访问者模式
D.迭代器模式、解释器模式和模板方法模式
开始考试点击查看答案 - 8迪米特法则要求一个软件实体应当尽可能少地与其他软件实体发生相互作用,这 样,当一个模块修改时,就会尽量少地影响其他模块,扩展会相对容易。为了满足迪米特法 则,一种常见的方法是在系统中适当引人一些“第三者”类,通过这些“第三者”类来降低系统 的耦合度,这种思想在某些设计模式中得以实现,( )设计模式是迪米特法则的具体 实现。
A.抽象工厂和策略
B.组合和迭代器
C.享元和单例
D.外观和中介者
开始考试点击查看答案 - 9撤销(Undo)操作是很多软件系统的基本功能之一,在设计模式中,( )模式可以用于设计和实现撤销功能。
A.适配器或代理
B.访问者或观察者
C.命令或备忘录
D.职责链或迭代器
开始考试点击查看答案 - 10( )可以避免在设计方案中使用庞大的多层继承结构,从而减少系统中类的总数量。
A.桥接模式和装饰模式 C.策略模式和模板方法模式
B.适配器模式和职责链模式 D.中介者模式和迭代器模式
开始考试点击查看答案