[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fcaZQxdXeN_f-2GD2g7iC49LXr5rwaR7bj54pF2Zk0ug":3},{"answer":4,"createTime":5,"id":6,"options":7,"origin":12,"question":19,"related":20,"source":30,"type":31},[],"2024-06-27 13:09:30",155937815,[8,9,10,11],"被观察者可以通知观察者进行更新","Java语言中提供了对观察者模式的全面支持,在JDK类库中的Observable类充当观察目标的角色,Observer类充当观察者角色","观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行","观察者角色的更新是被动的",{"count":13,"courseId":14,"courseImg":15,"courseName":16,"workId":17,"workName":18},16,"24e9b4667f359b291a0d76a81ee8fdb7","https:\u002F\u002Ftihai-oss-cloud.itihey.com\u002Fimg\u002Fcd6aa804f56468e1fa7bc4a2057046b9.png","软件体系结构与设计模式","exam_126514465","《软件设计模式与体系结构》期末测验","在观察者模式中,表述错误的是( )",[21,32,41,44,53,62,71,80,90,99],{"answer":22,"createTime":5,"id":23,"options":24,"question":29,"source":30,"type":31},[],155937810,[25,26,27,28],"访问者","状态","策略","命令","在某系统中用户可以动态选择某种排序算法(例如选择排序、冒泡排序、插入排序)来实现某功能,该系统的设计可以使用( )模式","v1",0,{"answer":33,"createTime":5,"id":34,"options":35,"question":40,"source":30,"type":31},[],155937813,[36,37,38,39],"在访问者模式中增加新的元素很容易","在访问者模式中,ObjectStructure提供一个高层接口,以允许访问者访问它的元素","访问者模式表示一个作用于某对象结构中的各元素的操作","访问者模式使用户可以在不改变各元素的类的前提下定义作用于这些元素的新操作","以下关于访问者模式叙述错误的是( )",{"answer":42,"createTime":5,"id":6,"options":43,"question":19,"source":30,"type":31},[],[8,9,10,11],{"answer":45,"createTime":5,"id":46,"options":47,"question":52,"source":30,"type":31},[],155937817,[48,49,50,51],"Java语言提供了对迭代器模式的完美支持,JDK类库存中的Iterator接口充当迭代器角色,可以对继承自Collection接口的子类进行遍历","迭代器模式提供一种方法来访问聚合对象,而无须暴露这个对象的内部表示","在抽象聚合类中定义了访问和遍历元素的方法并在具体聚合类中实现这些方法","迭代器模式支持以不同的方式遍历一个聚合对象","以下关于迭代器模式的叙述错误的是( )",{"answer":54,"createTime":5,"id":55,"options":56,"question":61,"source":30,"type":31},[],155937820,[57,58,59,60],"Adapter(适配器)","Prototype(原型)","Observer(观察者)","Iterator(迭代器)","设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新",{"answer":63,"createTime":5,"id":64,"options":65,"question":70,"source":30,"type":31},[],155937823,[66,67,68,69],"观察者 (Observer)","职责链 (Chain of Responsibility)","命令 (Command)","迭代器 (Iterator)","在Java异常处理中经常存在与下述代码片段类似的代码: try { &hellip;&hellip; } catch(ArithmeticException are) { System.out.println(&quot;算术错误!&quot;); } catch(ClassNotFoundException e1) { System.out.println(&quot;类没有找到!&quot;); } catch(SQLException e2) { System.out.println(&quot;数据库操作错误!&quot;); } 分析上述代码,在Java异常处理机制中蕴含了( )设计模式",{"answer":72,"createTime":5,"id":73,"options":74,"question":79,"source":30,"type":31},[],155937826,[75,76,77,78],"命令模式是对命令的封装,命令模式把发出命令的责任和执行命令的责任集中在同一个类中,委派给统一的类来进行处理","使用命令模式会导致某些系统有过多的具体命令类","命令模式可以将请求发送者和请求接收者解耦","命令模式将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化","以下关于命令模式的叙述错误的是( )",{"answer":81,"createTime":82,"id":83,"options":84,"question":89,"source":30,"type":31},[],"2024-06-27 13:09:31",155937829,[85,86,87,88],"状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类","状态模式中引入了一个抽象类来专门表示对象的状态,而具体的状态都继承了该类,并实现了不同状态的行为,包括各种状态之间的转换","状态模式使得状态的变化更加清晰明了,也很容易创建对象的新状态","状态模式完全符合开闭原则,增加新的状态类无须对原有类库进行任何修改","以下关于状态模式叙述错误的是( )",{"answer":91,"createTime":82,"id":92,"options":93,"question":98,"source":30,"type":31},[],155937831,[94,95,96,97],"中介者 (Mediator)","状态 (State)","适配器 (Adapter)","组合 (Composite)","在图形界面系统开发中,如果界面组件之间存在较为复杂的相互调用关系,为了降低界面组件之间的耦合度,让它们不产生直接的相互引用,可以使用( )设计模式",{"answer":100,"createTime":82,"id":101,"options":102,"question":107,"source":30,"type":31},[],155937833,[103,104,105,106],"模板方法模式和解释器模式","策略模式和访问者模式","状态模式和组合模式","代理模式和组合模式","有些设计模式的目的是处理一些较为复杂的算法问题,( )用于在应用程序中分离一些复杂的算法"]