问题 单项选择题

某软件公司欲开发一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF3种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将相关图片格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。为满足上述需求并减少所需生成的子类数目,采用(5)进行设计所得类图如图8-7所示。假设该系统需要支持8种格式的图像文件和4种操作系统,不考虑类Matrix,若采用该设计模式则至少需要设计(6)个类。

(6)处填()。

A.10

B.12

C.14

D.16

答案

参考答案:C

解析:

Bridge(桥接)模式的设计意图就是:将抽象部分与现实部分分离,使得它们两部分可以独立地变化。依题意,为满足上述需求并减少所需生成的子类数目,采用桥接(Bridge)设计模式对图像浏览系统进行设计所得类图如图8-7所示。采用该设计模式的原因在于:系统解析BMP、GIF与JPEG文件的代码仅与文件格式相关,而在屏幕上显示像素矩阵的代码则仅与操作系统相关。

采用桥接(Bridge)模式能够将文件分析代码和图像显示代码分解在不同的类层次结构中,如果不考虑中间使用的Matrix等类,那么最后需要设计的类包括2个父类、对应文件格式数目的子类、对应操作系统数目的平台类,因此8种图像格式和4种操作系统需要14个类(即2+8+4=14个)。

填空题
填空题