● 下面给出了四种设计模式的作用: 外观(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. 模板方法
第1题:
已知某子系统为外界提供功能服务,但该子系统中存在很多粒度十分小的类,不便被外界系统直接使用,采用(41)设计模式可以定义一个高层接口,这个接口使得这一子系统更加容易使用;当不能采用生成子类的方法进行扩充时,可采用(42)设计模式动态地给一个对象添加一些额外的职责。
A.Facade(外观)
B.Singleton(单件)
C.Participant(参与者)
D.Decorator(装饰)
第2题:
● 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 (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)

第3题:
第4题:
第5题:
第6题:
外观模式,当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。
第7题:
关于线程的创建过程,下面四种说法正确的有哪些?()
第8题:
以下意图哪个是用来描述TEMPLATE METHOD(模板方法)?()
第9题:
对
错
第10题:
为子系统中的一组接口提供一个一致的界面,本模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
定义一个用于创建对象的接口,让子类决定实例化哪一个类
保证一个类仅有一个实例,并提供一个访问它的全局访问点
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态
第11题:
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中
为其他对象提供一种代理以控制对这个对象的访问
将抽象部分与它的实现部分分离,使它们都可以独立地变化
使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系
第12题:
外观模式
策略模式
适配器模式
单例模式
第13题:
A、将一个类设计为单例设计模式,在其他类中可以创建这个类对象
B、将一个类设计为单例设计模式,必须私有其空参数构造方法,并且还不能定义有参数的构造方法
C、将一个类设计为单例设计模式,需要定义一个静态的成员方法将本类创建的对象返回给调
D、以上答案都不对
第14题:
● 下面给出了四种设计模式的作用:
外观(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. 模板方法
第15题:
第16题:
第17题:
()模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面,简化了一群类的接口。
第18题:
当不适合采用生成子类的方法对已有的类进行扩充时,可以采用(1)设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用(2)设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用(3)设计模式将该类的接口转换成我们希望的接口。 空白(2)处应选择()
第19题:
以下意图哪个是用来描述BUILDER(生成器)?()
第20题:
以下意图哪个是用来描述FACTORY METHOD(工厂方法)?()
第21题:
第22题:
定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法
第23题:
将一个类的接口转换成客户希望的另外一个接口该模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作
保证一个类仅有一个实例,并提供一个访问它的全局访问点
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化
用一个中介对象来封装一系列的对象交互