● 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 (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)
第1题:
● 下面给出了四种设计模式的作用: 外观(Fa?ade) :为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用; 装饰(Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能; 单件(Singleton) :保证一个类仅有一个实例,并提供一个访问它的全局访问点; 模板方法(Template Method) :在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。 请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(30) 设计模式能够有效达到该目的;该系统中的某子模块需要为其他模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB 等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库、再打开数据库、最后对数据进行查询,(31) 设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,(32) 设计模式可以实现该目的。
(30)A. 外观 B. 装饰 C. 单件 D. 模板方法
(31)A. 外观 B. 装饰 C. 单件 D. 模板方法
(32)A. 外观 B. 装饰 C. 单件 D. 模板方法
第2题:
此题为判断题(对,错)。
第3题:
已知某子系统为外界提供功能服务,但该子系统中存在很多粒度十分小的类,不便被外界系统直接使用,采用(41)设计模式可以定义一个高层接口,这个接口使得这一子系统更加容易使用;当不能采用生成子类的方法进行扩充时,可采用(42)设计模式动态地给一个对象添加一些额外的职责。
A.Facade(外观)
B.Singleton(单件)
C.Participant(参与者)
D.Decorator(装饰)
第4题:
在面向对象方法中,多态指的是( )。
A.客户类无需知道所调用方法的特定子类的实现B. 对象动态地修改类C.一个对象对应多张数据库表D. 子类只能够覆盖父类中非抽象的方法
第5题:
● 下面给出了四种设计模式的作用:
外观(Facade):为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用
装饰(Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能;
单件(Singleton) :保证一个类仅有一个实例,并提供一个访问它的全局访问点;
模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中现。请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(42)设计模式能够有效达到该目的;该系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB 等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,(43) 设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类
(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,(44)设计模式可以实现该目的。
(42)A. 外观 B. 装饰 C. 单件 D. 模板方法
(43)A. 外观 B. 装饰 C. 单件 D. 模板方法
(44)A. 外观 B. 装饰 C. 单件 D. 模板方法
第6题:
第7题:
第8题:
外观模式,当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。
第9题:
下面说法不正确的是()
第10题:
关于模式适用性,在以下情况不适合使用FACTORY METHOD模式?()
第11题:
装饰某个对象时需要修改该类的对象
在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
需要动态地给一个对象增加功能,这些功能也可以动态地被撤销
当不能采用继承的方式对系统进行扩充或者采用继承不利于系统扩展和维护时
只需要对某个对象进行外观修饰而不需要修改其内在属性时
第12题:
命令(CommanD)
适配器(Adapter)
装饰(DecoratE)
享元(Flyweight)
第13题:
此题为判断题(对,错)。
第14题:
●欲动态地给一个对象添加职责,宜采用 (43)模式。
(43)
A.适配器(Adapter)
B.桥接(Bridge)
C.组合( Composite)
D.装饰器(Decorator)
第15题:
A.子类继承父类的所有属性和方法
B.子类可以继承父类的私有的属性和方法
C.子类可以继承父类的公有的属性和方法
D.创建子类对象时,父类的构造方法都要被执行
第16题:
A、将一个类设计为单例设计模式,在其他类中可以创建这个类对象
B、将一个类设计为单例设计模式,必须私有其空参数构造方法,并且还不能定义有参数的构造方法
C、将一个类设计为单例设计模式,需要定义一个静态的成员方法将本类创建的对象返回给调
D、以上答案都不对
第17题:
此题为判断题(对,错)。
第18题:
第19题:
第20题:
关于模式适用性,在以下情况不适合使用DECORATOR(装饰)模式?()
第21题:
以下不适合使用装饰模式的是()
第22题:
对
错
第23题:
在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
处理那些可以撤消的职责
客户程序与抽象类的实现部分之间存在着很大的依赖性
当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类