位置:首页 > 题库频道 > 其它分类 > 计算机其它 > 软件开发练习题

分析如下代码:public class TestXYZ { int behaviour;//Getter and Setterpublic void handleAll() {if (behaviour == 0) { //do something } else if (behaviour == 1) { //do something } else if (behaviour == 2) { //do something } else if (behaviour == 3) { //do something } ... some more else if ...为了提髙代码的扩展性和健壮性,可以使用( )设计模式来进行重构。

发布时间:2021-12-27

A.访问者(Visitor)

B.外观(Facade)

C.备忘录(Memento)

D.状态(State)

试卷相关题目

  • 1以下关于备忘录模式的叙述错误的是( )。

    A.备忘录模式的作用是在不破坏封装的前提下,捕获一个对象的内部状态,并在 该对象之外保存这个状态,这样可以以后将对象恢复到原先保存的状态

    B.备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特 定的历史步骤

    C.备忘录模式的缺点在于资源消耗太大,如果类的成员变量太多,就不可避免地 占用大量的内存,而且每保存一次对象的状态都需要消耗内存资源

    D.备忘录模式属于对象行为型模式,负责人向原发器请求一个备忘录,保留一段 时间后,将其送回给负责人,负责人负责对备忘录的内容进行操作和检査

    开始考试点击查看答案
  • 2很多软件都提供了撤销(Undo)功能,( )设计模式可以用于实现该功能。

    A.中介者

    B.备忘录

    C.迭代器

    D.观察者

    开始考试点击查看答案
  • 3以下关于中介者模式的叙述错误的是( )。

    A.中介者模式用一个中介对象来封装一系列的对象交互

    B.中介者模式与观察者模式均可以用于降低系统的耦合度,中介者模式用于处理 对象之间一对多的调用关系,而观察者模式用于处理多对多的调用关系

    C.中介者模式简化了对象之间的交互,将原本难以理解的网状结构转换成相对简 单的星型结构

    D.中介者将原本分布于多个对象间的行为集中在一起,改变这些行为只需生成新 的中介者子类即可,这使各个同事类可被重用

    开始考试点击查看答案
  • 4中介者模式通过中介者将同事类解耦,这是( )的具体应用。

    A.迪米特法则

    B.接口隔离原则

    C.里氏代换原则

    D.合成复用原则

    开始考试点击查看答案
  • 5迭代器模式用于处理具有( )性质的类。

    A.抽象

    B.聚集

    C.单例

    D.共享

    开始考试点击查看答案
  • 6( )设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。

    A.适配器(Adapter)

    B.迭代器(Iterator)

    C.原型(Prototype)

    D.观察者(Observer)

    开始考试点击查看答案
  • 7下面这句话隐含着( )设计模式。我和妹妹跟妈妈说:“妈妈,我和妹妹在院子里玩。饭做好了叫我们一声。

    A.外观(Facade)

    B.职责链(Chain of Responsibility)

    C.观察者(Observer)

    D.迭代器(Iterator)

    开始考试点击查看答案
  • 8场景( )不是状态模式的实例。

    A.银行账户根据余额不同拥有不同的存取款操作

    B.游戏软件中根据虚拟角色级别的不同拥有不同的权限

    C.某软件在不同的操作系统中呈现不同的外观

    D.会员系统中不同的会员等级可以实现不同的行为

    开始考试点击查看答案
  • 9以下关于状态模式的叙述错误的是( )。

    A.状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修 改了它的类

    B.状态模式中引人了一个抽象类来专门表示对象的状态,而具体的状态都继承了 该类,并实现了不同状态的行为,包括各种状态之间的转换

    C.状态模式使状态的变化更加清晰明了,也很容易创建对象的新状态

    D.状态模式完全符合开闭原则,增加新的状态类无须对原有类库进行任何修改

    开始考试点击查看答案
  • 10以下关于策略模式的叙述错误的是( )。

    A.策略模式是对算法的包装,是把算法的责任和算法本身分隔开,委派给不同的 对象管理

    B.在Context类中,维护了对各个ConcreteStrategy的引用实例,提供了一个接口 供 ConcreteStrategy 存储数据

    C.策略模式让算法独立于使用它的客户而变化

    D.策略模式中,定义一系列算法,并将每一个算法封装起来,并让它们可以相互替换

    开始考试点击查看答案
返回顶部