当不适合采用生成子类的方法对已有的类进行扩充时,可以采用(1)设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用(2)设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用(3)设计模式将该类的接口转换成我们希望的接口。空白(3)处应选择()
第1题:
● 已知某子系统为外界提供功能服务,但该子系统中存在很多粒度十分小的类,不便被外界系统直接使用,采用(41)设计模式可以定义一个高层接口,这个接口使得这一子系统更加容易使用;当不能采用生成子类的方法进行扩充时,可采用(42)设计模式动态地给一个对象添加一些额外的职责。
(41)
A. Facade(外观)
B. Singleton(单件)
C. Participant(参与者)
D. Decorator(装饰)
(42)
A. Facade(外观)
B. Singleton(单件)
C. Participant(参与者)
D. Decorator(装饰)

第2题:
已知某子系统为外界提供功能服务,但该子系统中存在很多粒度十分小的类,不便被外界系统直接使用,采用(41)设计模式可以定义一个高层接口,这个接口使得这一子系统更加容易使用;当不能采用生成子类的方法进行扩充时,可采用(42)设计模式动态地给一个对象添加一些额外的职责。
A.Facade(外观)
B.Singleton(单件)
C.Participant(参与者)
D.Decorator(装饰)
第3题:
第4题:
第5题:
第6题:
外观模式,当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。
第7题:
关于模式适用性,在以下情况不适合使用DECORATOR(装饰)模式?()
第8题:
以下不适合使用装饰模式的是()
第9题:
关于模式适用性,在以下情况不适合使用FLYWEIGHT(享元)模式?()
第10题:
装饰某个对象时需要修改该类的对象
在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
需要动态地给一个对象增加功能,这些功能也可以动态地被撤销
当不能采用继承的方式对系统进行扩充或者采用继承不利于系统扩展和维护时
只需要对某个对象进行外观修饰而不需要修改其内在属性时
第11题:
你想使用一个已经存在的类,而它的接口不符合你的需求
你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作
你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口
如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象
第12题:
将抽象部分与它的实现部分分离,使它们都可以独立地变化
运用共享技术有效地支持大量细粒度的对象
动态地给一个对象添加一些额外的职责
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
第13题:
● (47) 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
(47)
A. Adapter(适配器)模式
B.Command(命令)模式
C.Singleton(单例)模式
D.Strategy(策略)模式
第14题:
● 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 (43) 设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用 (44) 设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用 (45) 设计模式将该类的接口转换成我们希望的接口。
(43)
A. 命令(Command)
B. 适配器(Adapter)
C. 装饰(Decorate)
D. 享元(Flyweight)
(44)
A. 命令(Command)
B. 适配器(Adapter)
C. 装饰(Decorate)
D. 享元(Flyweight)
(45)
A. 命令(Command)
B. 适配器(Adapter)
C. 装饰(Decorate)
D. 享元(Flyweight)

第15题:
第16题:
第17题:
第18题:
当不适合采用生成子类的方法对已有的类进行扩充时,可以采用(1)设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用(2)设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用(3)设计模式将该类的接口转换成我们希望的接口。 空白(1)处应选择()
第19题:
当不适合采用生成子类的方法对已有的类进行扩充时,可以采用(1)设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用(2)设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用(3)设计模式将该类的接口转换成我们希望的接口。 空白(2)处应选择()
第20题:
以下意图哪个是用来描述FLYWEIGHT(享元)?()
第21题:
对
错
第22题:
在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
处理那些可以撤消的职责
客户程序与抽象类的实现部分之间存在着很大的依赖性
当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类
第23题:
一个应用程序使用了大量的对象
完全由于使用大量的对象,造成很大的存储开销
对象的大多数状态都可变为外部状态
你想使用一个已经存在的类,而它的接口不符合你的需求