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

题目

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

A.Shape B.Drawing C.Rectangle D.V2Drawing A.Shape B.Drawing C.Rectangle D.V2Drawing


相似考题
更多“某软件公司欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。在明确用户需求后,该公司的架构师决定采用Bridge模式实现该软件,并设计UML类图如下图所示。图中与Bridge模式中的Abstraction角色相对应的类是( ),与Implementor角色相对应的类是( )。A.Shape B.Drawing C.Rectangle D.V2Drawing A.Shape B.Drawing C.Rectangle D.V2Drawing”相关问题
  • 第1题:

    ● (43)设计模式将抽象部分与它的实现部分相分离,使它们都可以独立地变化下图为该设计模式的类图,其中,(44)用于定义实现部分的接口。

    (43)

    A. Singleton(单件)

    B. Bridge(桥接)

    C. Composite(组合)

    D. Facade(外观)

    (44)

    A. Abstraction

    B. ConcreteImplementorA

    C. ConcreteImplementorB

    D. Implementor


    正确答案:B,D

  • 第2题:

    ● 下图中左边的 UML 类图描绘的是设计模式中的 (1) 模式。右边的 UML 类图描述了该模式的一种应用,其中与左图中的“Abstraction”对应的类是 (2) 。

    (1)

    A.Command

    B. Bridge

    C. Composite

    D. Proxy

    (2)

    A.DataAccess

    B. DataAccessImpl

    C. CustomerDM

    D. AccountDM


    正确答案:B,A

  • 第3题:

    在需求分析阶段,可以使用UML中的(30)来捕获用户需求,并描述对系统感兴趣的外部角色及其对系统的功能要求。

    A.用例图

    B.类图

    C.顺序图

    D.状态图


    正确答案:A
    解析:用例图从用户角度描述系统功能,并指出各功能的操作者,因此可在需求阶段用于获取用户需求并建立用例模型;类图用于描述系统中类的静态结构;顺序图显示对象之间的动态合作关系,强调对象之间消息发送的顺序,同时显示对象之间的交互:状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。

  • 第4题:

    某软件公司欲开发一个交易系统。为了能够精确表达用户与系统的复杂交互过程,应该采用UML的__________进行交互过程建模。 A.类图 B.序列图 C.部署图 D.对象图


    正确答案:B
    要点解析:类图、对象图和部署图都属于结构类模型图.用于描述系统应用的静态
    结构。而序列图属于行为类模型图,用于描述系统动态行为的各个方面。

  • 第5题:

    阅读下列说明和 C ++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上留 下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy)设计模式来实现该需求,所设计的类图如图 6-1 所示。

    【C++ 代码】#includeusing namespace std;class BrakeBehavior{public:(1) ; /*其余代码省略*/};class LongWheelBrake : public BrakeBehavior{public:void stop(){cout <<"模拟长轮胎刹车痕迹! "<< end1;} /*其余代码省略*/};class ShortWheelBrake : public BrakeBehavior{public:void stop(){cout<"模拟短轮胎刹车痕迹! "<< end1;} /*其余代码省略*/};class Car{protected: (2) wheel;public:void brake(){ (3) ; } /*其余代码省略*/};class ShortWheelCar : public Car{public:ShortWheelCar(BrakeBehavior* behavior){ (4);} /*其余代码省略*/};int main(){BrakeBehavior* brake= new ShortWheelBrake();ShortWheelCar car1(brake):car1. (5) ;return 0;}


    答案:
    解析:
    1. virtual void stop( )=02. BrakeBehavior*3. Wheel->stop( )4. wheel=behavior5. brake( )

  • 第6题:

    下图是( )设计模式的类图,该设计模式的目的是(请作答此空),图中,Abstraction和RefinedAbstraciton之间是( )关系,Abstraction和Implementor之间是( )关系。


    A.将一个类的接口转换为客户期望的另一种接口,使得原本不匹配的接口而无法合作的类可以一起工作
    B.将一个抽象与其实现分离开,以便两者能够各自独立地演变
    C.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能
    D.为一个对象提供代理以控制该对象的访问

    答案:B
    解析:
    适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。装饰模式:指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。代理模式:为一个对象提供代理以控制该对象的访问。类之间的关系主要有以下几种:(1)继承关系:是指子类自动地具有其父类的全部属性与操作,也称为父类对子类的泛化。在UML建模语言中,采用空心三角形表示,从子类指向父类。(2)关联关系:是指两个或多个类之间的一种静态关系,表现为一个类是另一个类的成员变量。在UML类图中,用实线连接有关联的对象所对应的类。(3)聚合关系:是整体与部分之间的关系,是强的关联关系。在UML中,聚合关系用带空心菱形的实心线,菱形指向整体。(4)依赖关系:也是类之间的一种静态关系,表现为一个类是另外一个类的局部变量。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

  • 第7题:

    欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中( )定义了实现类接口,该模式适用于(请作答此空)的情况,该模式属于( )模式。

    A.不希望在抽象和它的实现部分之间有一个固定判定关系
    B.想表示对象的部分-整体层次结构
    C.想使用一个已经存在的类,而它的接口不符合要求
    D.在不影响其他对象的情况下,以动态透明的方式给单个对象添加职责

    答案:A
    解析:
    桥接模式模式属于结构型对象模式,可以将抽象部分与其实现部分分离,使它们都可以独立的变化。桥接模式适用于不希望在抽象和它的实现部分之间有一个固定判定关系。

  • 第8题:

    下图是(请作答此空)设计模式的类图,该设计模式的目的是( ),图中,Abstraction和RefinedAbstraciton之间是( )关系,Abstraction和Implementor之间是( )关系。

    A.适配器
    B.桥接
    C.装饰
    D.代理

    答案:B
    解析:
    适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。装饰模式:指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。代理模式:为一个对象提供代理以控制该对象的访问。类之间的关系主要有以下几种:(1)继承关系:是指子类自动地具有其父类的全部属性与操作,也称为父类对子类的泛化。在UML建模语言中,采用空心三角形表示,从子类指向父类。(2)关联关系:是指两个或多个类之间的一种静态关系,表现为一个类是另一个类的成员变量。在UML类图中,用实线连接有关联的对象所对应的类。(3)聚合关系:是整体与部分之间的关系,是强的关联关系。在UML中,聚合关系用带空心菱形的实心线,菱形指向整体。(4)依赖关系:也是类之间的一种静态关系,表现为一个类是另外一个类的局部变量。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

  • 第9题:

    假设现在要创建一个 Web应用框架,基于此框架能够创建不同的具体 Web应用,比如博客、 新闻网站和网上商店等;并可以为每个 Web 应用创建不同的主题样式,如浅色或深色等。这一 业务需求的类图设计适合采用(请作答此空)模式(如下图所示)。其中( )是客户程序使用的 主要接口,维护对主题类型的引用。此模式为( ),体现的最主要的意图是( )。


    A.观察者(Observer)
    B.访问者(Visitor)
    C.策略(Strategy)
    D.桥接(Bridge)

    答案:D
    解析:
    桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。

  • 第10题:

    欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用(请作答此空)模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中( )定义了实现类接口,该模式适用于( )的情况,该模式属于( )模式。

    A.适配器(adapten)
    B.装饰(Decorator)
    C.桥接(Bridge)
    D.组合(composite)

    答案:C
    解析:

  • 第11题:

    (请作答此空)设计模式允许一个对象在其内部状态改变时改变它的行为。下图为这种设计模式的类图,已知类State为抽象类,则类( )的实例代表Context对象的状态。

    A.单件(Singleton)
    B.桥接(Bridge)
    C.组合(Composite)
    D.状态(State)

    答案:D
    解析:
    本题考查面向对象中的设计模式该类图描述的是状态设计模式State的子类 ConcreteStateA和ConcreteStateB都表示Context对象在运行过程中可能转换的状态

  • 第12题:

    某软件公司欲开发一个在线交易系统。为了能够精确表达用户与系统的复杂交互过程,应该采用UML的()进行交互过程建模。

    • A、类图
    • B、序列图
    • C、部署图
    • D、对象图

    正确答案:B

  • 第13题:

    ● 某软件公司欲开发一个 Windows 平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用 Command 模式实现该系统的界面显示部分,并设计 UML 类图如下图所示。图中与 Command 模式中的“Invoker”角色相对应的类是 (30) ,与 “ConcreteCommand”角色相对应的类是 (31) 。

    (30)

    A. Command

    B. MenuItem

    C. Open

    D. BulktinBoardScreen

    (31)

    A. Command

    B. MenuItem

    C. Open

    D. BulktinBoardScreen


    正确答案:B,C

  • 第14题:

    ● 图 1 中左边的 UML 类图描绘的是设计模式中的 (1) 模式。右边的 UML 类图描述了该模式的一种应用,其中与左图中的“Creator”对应的类是 (2) 。

    (1)

    A. Command

    B. Factory Method

    C. Composite

    D. Class Adapter

    (2)

    A. Bank

    B. Account

    C. Checking

    D. Savings


    正确答案:B,A

  • 第15题:

    某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图如下图所示。图中与Command模式中的 “Invoker”角色相对应的类是(1),与“Concrete Command”角色相对应的类是(2)。

    (1)

    A.Command

    B.MenuItem

    C.Open

    D.BulktinBoardScreen


    正确答案:B

  • 第16题:

    某软件公司欲开发一个在线交易系统。为了能够精确表达用户与系统的复杂交互过程,应该采用UML的 (17) 进行交互过程建模。

    (17)

    A. 类图

    B. 序列图

    C. 部署图

    D. 对象图


    正确答案:B

  • 第17题:

    下图是( )设计模式的类图,该设计模式的目的是( ),图中,Abstraction和RefinedAbstraciton之间是( )关系,Abstraction和Implementor之间是(请作答此空)关系。

    A.依赖
    B.关联
    C.继承
    D.聚合

    答案:D
    解析:
    适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。装饰模式:指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。代理模式:为一个对象提供代理以控制该对象的访问。类之间的关系主要有以下几种:(1)继承关系:是指子类自动地具有其父类的全部属性与操作,也称为父类对子类的泛化。在UML建模语言中,采用空心三角形表示,从子类指向父类。(2)关联关系:是指两个或多个类之间的一种静态关系,表现为一个类是另一个类的成员变量。在UML类图中,用实线连接有关联的对象所对应的类。(3)聚合关系:是整体与部分之间的关系,是强的关联关系。在UML中,聚合关系用带空心菱形的实心线,菱形指向整体。(4)依赖关系:也是类之间的一种静态关系,表现为一个类是另外一个类的局部变量。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

  • 第18题:

    阅读下列说明和 Java 代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上 留 下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy) 设 计模式来实现该需求,所设计的类图如图 5-1 所示。




    答案:
    解析:
    1.void stop()2.BrakeBehavior3.wheel.stop()4.wheel=behavior5.brake()

  • 第19题:

    欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中(请作答此空)定义了实现类接口,该模式适用于( )的情况,该模式属于( )模式。

    A.Shape]
    B.Circle和Rectangle]
    C.V1Drawing和V2Drawing
    D.drawing

    答案:A
    解析:
    Drawing类是抽象类,Shape类是实现类,在桥接图中由抽象类指向实现类。

  • 第20题:

    阅读下列说明和C++代码,回答问题,将解答填入答题纸的对应栏内。
    【说明】
    某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如下图所示。



    Command?模式类图




    答案:
    解析:
    (1)interface Command
    (2)light.on()
    (3)light.off()
    (4)onCommands[slot]
    (5)offCommands[slot]
    (6)onCommands[slot].execute()
    (7)offCommands[slot].execute()

  • 第21题:

    假设现在要创建一个 Web应用框架,基于此框架能够创建不同的具体 Web应用,比如博客、 新闻网站和网上商店等;并可以为每个 Web 应用创建不同的主题样式,如浅色或深色等。这一 业务需求的类图设计适合采用(如下图所示)模式( )。其中( )是客户程序使用的 主要接口,维护对主题类型的引用。此模式为(请作答此空),体现的最主要的意图是( )。


    A.创建型对象模式
    B.结构型对象模式
    C.行为型类模式
    D.行为型对象模式

    答案:B
    解析:
    桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。

  • 第22题:

    欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中( )定义了实现类接口,该模式适用于( )的情况,该模式属于(请作答此空)模式。

    A.创建型对象
    B.结构型对象
    C.行为型对象
    D.结构类型

    答案:B
    解析:
    桥接模式模式属于结构型对象模式,可以将抽象部分与其实现部分分离,使它们都可以独立的变化。桥接模式适用于不希望在抽象和它的实现部分之间有一个固定判定关系。Drawing类是抽象类,Shape类是实现类,在桥接图中由抽象类指向实现类。适配器模式将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。装饰模式动态地给一个对象添加一些额外的职责。就扩展功能而言,Decorator模式比生成子类方式更为灵活。组合模式将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得客户对单个对象和复合对象的使用具有一致性。

  • 第23题:

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


    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。