• 雨课堂知识点总结(十五)


    1.

     关于Adapter模式的说法,正确的是__

    A:Adapter类可提供被复用的方法,但与Client要求的spec不吻合

    B:Adaptee类用于将client的请求转化为对Adapter类的方法的调用
    C:Adapter类和Adaptee类之间的关系是delegation
    D:Adapter和ITarget之间的关系是inheritance
    正确答案:C

    2.
     Adapter模式カ何要设计
    ITarget接口,而不是由client直接靖求Adapter的Request( )方法?
    A:Client対接口編程,无需了解Adapter炎
    B:Adapter炎可能友生変化,接口隔寓了変化,不会:影呵client代碣
    C:Adaptee炎可能友生変化,需要隔禽client与它的変化
    D:Client无法直接杓造Adapter的実例,故需要増加接口
    正确答案:AB
    3.
     关于Decorator设计模式的说法,不正确的是
    注:在以下选项中,A代表装饰之前的类,B代表装饰之后的类
    A:A和B二者具有共同的祖先类或实现共同的接口
    B:B中有一个成员变量,其类型为A
    C:B中的某些方法中,通过
    delegation调用A的同名方法,并可扩展其他新功能
    D:B中不可以增加A中所没有的方法
    正确答案D
    4.
    Stack t = new SecureStack (
    new SynchronizedStack (newUndoStack(s));
    针对Decorator设计模式上述形式的client代码,以下说法不正确的是___
     A:第三行的s的类型是Stack或其子类型
     B:第三行的s的类型是B  UndoStack
     C: 第一行的t的运行时类型是SecureStack
     D:第一行的t和第三行的s,其实是指向内存中同一个对象的两个不同alias
    正确答案:BD
    5.
     针对Facade设计模式,以下说法不正确的是_
    A:针对一个或多个已有的类,client需要调用它们的多个方法,故该模式将这些调用统一封装为一 个方法对外提供
    B:该模式降低了client端使用已有类的代价,减少了client与已有类之间的耦合度
    C:该模式所构造的封装类中的方法一般用static类型
    D:虽然减少了耦合度,该模式仍然需要client端显式构造出被封装类的实例
    正确答案:D
    6.

      . 上图Strategy模式, 说法不正确的是_

     A:ShoppingCart将pay( )的职责delegate给了PaymentStrategy
     B: PaymentStrategy是接口,client的pay实际执行的是其某个实现类的pay()Client端不需要了解
     C: PaymentStrategy的任何实现类即可使用其pay()
     D:  若要扩展新的pay( )策略,只需为PaymentStrategy增加新的实现类
    正确答案:C

     针对C选项:client必须要知道自己希望 使用的是哪个pay策略,然后构造其对 象,传入pay(PaymentStrategy p)方法, 才能调用p的pay()方法。
    7.
    上图Strategy模式, 说法正确的是
    ShoppingCart将pay( )的职责delegate给了PaymentStrategy
    PaymentStrategy是接口,client的pay实际执行的是其某个实现类的pay()
    若要扩展新的pay( )策略,只需为PaymentStrategy增加新的实现类
    不正确的
    Client端不需要了解PaymentStrategy的任何实现类即可使用其pay()
    client必须要知道自己希望 使用的是哪个pay策略,然后构造其对 象,传入pay(PaymentStrategy p)方法, 才能调用p的pay()方法。
    8.

    上图显示的Template模式,不正确的是
    上图中的0rderProcessTemplate是"模板”,可以是接口,也可以是抽象类
    Client可以更改对一系列doXXX( )方法的调用次序
    正确的
    ProcessOrder()是模板方法,包含了对一系列操作的调用
    如果OrderProcessTemplate中没有某个doXXX( )方法的实现,则在NetOrder和StoreOrder中必须要实现它。
    9.
    关于Iterator模式,不正确的是
    为了让你的类A具备iteration的能力,需要A实现Iterator接口
    为了让你的类A具备iteration的能力,还需要构造一个实现Iterable接口的类作为符合A特定需求的迭代器
    正确的
    Java里Iterable接口只有一个方法iterator(),它返回一个迭代器对象
    Java里Iterator接口有三个方法hasNext(),next(),remove( )
     
  • 相关阅读:
    屏蔽2003:在系统启动时至少有一个服务或驱动程序产生错误
    C#中有关string和byte[]转换的问题
    如何控制winform程序只能打开一个呢?
    ArrayList的使用方法【转载】
    ASP.NET中ajaX学习记录
    C#去除字符串空格的几种方法【转载】
    C# 中2,10,16进制及其ASCII码之间转化
    vc++下char数组赋值乱码问题
    c#关机时自动退出程序
    Android入门前言(一)之Android应用开发入门五问 (转自:http://blog.csdn.net/android_tutor/)
  • 原文地址:https://www.cnblogs.com/HIT-ryp/p/10683397.html
Copyright © 2020-2023  润新知