某软件公司欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序。以绘制直线和图形为例,得到如下图所示的类图。该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立地变化。其中( )定义了实现类接口,该模式适用于( )的情况,该模式属于( )模式。
问题1选项
A.适配器(Adapten)
B.装饰(Decorator)
C.桥接(Bridge)
D.组合(Composite)
问题2选项
A.Shape
B.Circle和Rectangle
C.V1Drawing和V2Drawing
D.Drawing
问题3选项
A.不希望在抽象和它的实现部分之间有一个固定判定关系
B.想表示对象的部分-整体层次结构
C.想使用一个已经存在的类,而它的接口不符合要求
D.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
问题4选项
A.创建型对象
B.结构型对象
C.行为型对象
D.结构型类
第1题:
本题考查设计模式的相关知识。
根据题干描述,该设计模式将抽象部分与其实现部分分离,使它们都可以独立的变化,指的是桥接模式,并属于结构型模式。第一空选择C选项。
适配器模式将一个类的接口转换成客户希望的另外一个接口,属于结构型模式。
装饰模式在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,属于对象结构型模式。
组合模式组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构,属于结构型模式。
桥接模式是结构型对象模式,所以第四空选择B选项。
第三空,B选项描述的是组合模式,C选项描述的是适配器模式,D选项描述的是装饰模式,A选项描述的是桥接模式,本空选择A选项。
本题难度最大的是第二空,根据桥接模式的结构,实现类接口,定义实现类的接口,这个接口不一定要与抽象类的接口完全一致,事实上这两个接口可以完全不同,一般的讲实现类接口仅仅给出基本操作,而抽象类接口则会给出很多更复杂的操作。本题仅仅给出基本操作的是Drawing,第二空选择D选项。
第2题:
第3题:
第4题: