某软件公司欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。在明确用户需求后,该公司的架构师决定采用:Bridge模式实现该软件,并设计UML类图如下图所示。图中与Bridge模式中的“Abstraction”角色相对应的类是__________(

admin2016-11-11  37

问题 某软件公司欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。在明确用户需求后,该公司的架构师决定采用:Bridge模式实现该软件,并设计UML类图如下图所示。图中与Bridge模式中的“Abstraction”角色相对应的类是__________(32),与“Implementor"角色相对应的类是___________(33)。

(33)

选项 A、Shape
B、Drawing
C、Rectangle
D、V2Drawing

答案B

解析 桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。桥接模式类似于多重继承方案,但是多重继承方案往往违背了类的单一职责原则,其复用性比较差,桥接模式是比多重继承方案更好的解决方法。
桥接模式的结构如下图所示,其中:

●Abstraction定义抽象类的接口;维护一个指向Implementor类型对象的指针。
●RefinedAbstraction扩充由Abstraction定义的接口。
●Implementor定义实现类的接口,该接口不一定要与Abstraction的接口完全一致;事实上这两个接口可以完全不同。一般来说,Implementor接口仅提供基本操作,而Abstraction则定义了基于这些基本操作的较高层次的操作。
●ConcreteImplementor实现Implementor接口并定义它的具体实现。图中与Bridge模式中的“Abstraction”角色相对应的类是Shape,与“Implementor”角色相对应的类是Drawing。
转载请注明原文地址:https://kaotiyun.com/show/vgQZ777K
0

最新回复(0)