1.
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模式, 说法正确的是
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( )
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览93115 人正在系统学习中 相关资源:…智慧农业信息化建设解决方案-管理软件文档类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!