第十一章测试
1.关于模式适用性,以下()不适合使用模板方法(Template Method)模式。
A:一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现 B:各子类中公共的行为应该被提取出来并集中到一个公共父类中以避免代码重复。首先识别现有代码中的不同之处,并且将不同之处分离为新的操作。最后,用一个调用这些新的操作的模板方法来替换这些不同的代码 C:当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变 D:控制子类扩展。模板方法只在特定点调用“hook”操作,这样就只允许在这些点进行扩展
答案:C
2.模板方法模式的基本方法是整个算法中的一个步骤,它包含()几种类型。
A:抽象方法 B:具体方法 C:继承方法 D:钩子方法 3.模板方法的主要优点是()。
A:它在父类中提取了公共的部分代码,便于代码复用 B:它封装了不变部分,扩展可变部分 C:它把认为是不变部分的算法封装到父类中实现,而把可变部分算法由子类继承实现,便于子类继续扩展 D:部分方法是由子类实现的,因此子类可以通过扩展方式增加相应的功能,符合开闭原则 4.中介者模式有以下()优点。
A:封装了转换规则 B:简化了对象之间的交互 C:减少了子类生成 D:简化了同事类的设计和实现 5.模板方法对每个不同的实现都需要定义一个子类,这会导致类的个数增加,系统更加庞大,设计也更加抽象。
A:错 B:对 6.模板方法父类中的抽象方法由子类实现,子类执行的结果会影响父类的结果,这导致一种反向的控制结构,它提高了代码阅读的难度。
A:错 B:对 7.在实际开发中,通常采用不定义中介者接口,把具体中介者对象实现成为单例的方法来简化中介者模式。
A:错 B:对 8.中介者模式用来降低多个对象和类之间的通信复杂性。
A:错 B:对 9.模板模式的关键在于在抽象类实现,其他步骤在子类实现。
A:对 B:错 10.以下哪一项(  )可用来描述中介者(Mediator)。
A:用一个中介对象来封装一系列的对象交互 B:将抽象部分与它的现实部分分离,使它们都可以独立变化 C:定义一个用于创建对象的接口,让子类决定实例化哪一个类 D:提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该对象

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部