● 下面给出了四种设计模式的作用: 外观(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题:
● 下面给出了四种设计模式的作用:
外观(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. 模板方法
第2题:
以下可用来描述外观(Facade)的是()。
A.为子系统中的一组接口提供一个一致的界面,本模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
B.定义一个用于创建对象的接口,让子类决定实例化哪一个类
C.保证一个类仅有一个实例,并提供一个访问它的全局访问点
D.在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态
第3题:
操作系统需为用户或程序员提供相应的接口,其中应用程序接口(API)由一组系统调用组成,每一个调用都是一个完成特定功能的子程序。
第4题:
3、已知某子系统为外界提供功能服务,但该子系统中存在很多粒度十分小的类,不便被外界系统直接使用,采用()设计模式可以定义一个高层接口,这个接口使得这一子系统更加容易使用。
A.Facade(外观)
B.Singleton(单例)
C.Participant(参与者)
D.Decorator(装饰)
第5题:
外观模式(Façade)能够解决的问题,不包括 ()所述场景。
A.现有系统比较简单,很容易更换接口
B.开发“新系统”只需要用到现有系统其中一部分
C.开发“新系统”要在现有系统部分功能的基础上增加新功能
D.现有系统比较复杂,理解的难度较大