对于如下所示的序列图所描述的场景,最适合于采用的设计模式是( );该模式适用的场合是(请作答此空)。A.VisitorB.StrategyC.ObserverD.State
对于如下所示的序列图所描述的场景,最适合于采用的设计模式是( );该模式适用的场合是(请作答此空)。
A.Visitor
B.Strategy
C.Observer
D.State
B.Strategy
C.Observer
D.State
参考解析
解析:访问者(visitor)模式是一种对象的行为模式,用于表示一个作用于某对象结构中的各元素的操作,它使得用户可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式使得新的操作变得很容易,但在一定程度上破坏了封装性。
相关考题:
对于如下所示的序列图所描述的场景,最适合于采用的设计模式是( );该模式适用的场合是( )。A.Visitor B.Strategy C.Observer D.State A.对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为 B.定义对象结构的类很少改变,但经常需要在此结构上定义新的操作 C.需要使用一个算法的不同变体 D.一个对象必须通知其它对象,而它又不能假定其它对象是谁
如下所示的UML序列图中, ( ) 表示返回消息,Account类必须实现的方法有 (请作答此空) 。A.start0B.checkBalance()和withdraw()C.deposit0D.checkBalance()、withdraw()和deposit()
下图所示为 (请作答此空) 设计模式,适用于 ( ) 。A.抽象工厂(Abstract Factory)B.生成器(Builder)C.工厂方法(Factory Method)D.原型(Prototype)
下图所示为 (请作答此空) 设计模式,适用于 ( ) 。A.适配器(Adapter)B.责任链(Chain of Responsibility)C.外观(Facade)D.桥接(Bridge)
下图是( )设计模式的类图,该设计模式的目的是( ),图中,ConcreteStrategy和Strategy之间是( )关系,Strategy和Context之间是(请作答此空)关系。A.依赖B.关联C.继承D.聚合
下图是(请作答此空)设计模式的类图,该设计模式的目的是( ),图中,Subject和Proxy之间是( )关系,Proxy和RealSubject之间是( )关系。A.适配器B.桥接C.装饰D.代理
下图是(请作答此空)设计模式的类图,该设计模式的目的是( ),图中,ConcreteCommand和Command之间是( )关系,Invoker和Command之间是( )关系。A.适配器B.命令C.装饰D.代理
下图是( )设计模式的类图,该设计模式的目的是( ),图中,Decorator和Component之间是(请作答此空)关系,ConcreteDecorator和Decorator之间是( )关系。A.依赖和关联B.依赖和继承C.关联和实现D.继承和实现
下面的UML类图描绘的是( )设计模式。关于该设计模式的叙述中,错误的是(请作答此空)。A.该设计模式中的Observer需要维护至少一个Subject对象B.该设计模式中的ConcreteObserver可以绕过Subject及其子类的封装C.该设计模式中一个Subject对象需要维护多个Observer对象D.该设计模式中Subject需要通知Observer对象其自身的状态变化
从数据库管理系统的角度看,数据库系统一般采用如下图所示的三级模式结构。图中①②处应填写(请作答此空),③处应填写( )。A.外模式/概念模式B.概念模式/内模式C.外模式/概念模式映像D.概念模式/内模式映像
欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中(请作答此空)定义了实现类接口,该模式适用于( )的情况,该模式属于( )模式。A.Shape]B.Circle和Rectangle]C.V1Drawing和V2DrawingD.drawing
对于如下所示的序列图所描述的场景,最适合于采用的设计模式是(请作答此空);该模式适用的场合是( )。A.对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为B.定义对象结构的类很少改变,但经常需要在此结构上定义新的操作C.需要使用一个算法的不同变体D.一个对象必须通知其它对象,而它又不能假定其它对象是谁
对于如下所示的序列图所描述的场景,最适合于采用的设计模式是(30);该模式适用的场合是(31)。A.对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为B.定义对象结构的类很少改变,但经常需要在此结构上定义新的操作C.需要使用一个算法的不同变体D.一个对象必须通知其它对象,而它又不能假定其它对象是谁
( )的选择是开发一个软件系统时的基本设计决策;( )是最低层的模式,关注软件系统的设计与实现,描述了如何实现构件及构件之间的关系。引用一计数是C++管理动态资源时常用的一种(请作答此空)。A. 架构模式B. 惯用法C. 设计模式D. 分析模式
在基于体系结构的软件设计方法中,采用()来描述软件架构,采用(请作答此空 )但来描述功能需求,采用()来描述质量需求。A. 类图B. 视角C. 用例D. 质量场景