下图是( )设计模式的类图,该设计模式的目的是( ),图中,Decorator和Component之间是(请作答此空)关系,ConcreteDecorator和Decorator之间是( )关系。A.依赖和关联B.依赖和继承C.关联和实现D.继承和实现
下图是( )设计模式的类图,该设计模式的目的是( ),图中,Decorator和Component之间是(请作答此空)关系,ConcreteDecorator和Decorator之间是( )关系。
A.依赖和关联
B.依赖和继承
C.关联和实现
D.继承和实现
B.依赖和继承
C.关联和实现
D.继承和实现
参考解析
解析:图中Component定义一个对象接口,可以给这些对象动态地添加职责ConcreteComponent定义一个对象,可以给这个对象添加一些职责Decorator维持一个指向Compnonent对象的指针 ,并定义一个与Component接口-致的接口ConcreateDecorator向组件添加职责装饰( Decorator )模式适应于:在不影响其它对象的情况下,以动态、透明的方式给单个对象添加职责;处理那些可以撤销的职责;当不能采用生成子类的方式进行扩充时Decorator和Component之间应为关联与实现关系ConcreteDecorator和Decorator之间是继承(泛化)关系
相关考题:
如图所示的UML类图中,Shop和Magazine之间为(请作答此空)关系,Magazine和Page之间为( )关系。UML类图通常不用于对( )进行建模。A.关联B.依赖C.组合D.继承
在面向对象分析和设计中,用类图给出系统的静态设计视图,其应用场合不包括(请作答此空)。下图是一个UML类图,其中类University和类School之间是( )关系,类Person和类PersonRecord之间是( )关系,表示Person与Person Record( )。A.对系统的词汇建模B.对简单的协作建模C.对逻辑数据库模式建模D.对系统的需求建模
如图所示的UML类图中,Shop和Magazine之间为( )关系,Magazine和Page之间为( )关系。UML类图通常不用于对(请作答此空)进行建模。A.系统的词汇B.简单的协作C.逻辑数据库模式D.对象快照
在面向对象分析和设计中,用类图给出系统的静态设计视图,其应用场合不包括( )。下图是一个UML类图,其中类University和类School之间是( )关系,类Person和类PersonRecord之间是( )关系,表示Person与Person Record(请作答此空)。 A. 之间的语义关系,其中PersonRecord发生变化会影响Person的语义B .之间的一种结构关系,描述了一组链,即对象之间的连接C. 是整体和部分的关系D .是一般和特殊的关系
在面向对象分析和设计中,用类图给出系统的静态设计视图,其应用场合不包括( )。下图是一个UML类图,其中类University和类School之间是( )关系,类Person和类PersonRecord之间是(请作答此空)关系,表示Person与Person Record( )。A.依赖B.关联C.聚集D.泛化
下列设计模式中, (请作答此空) 模式既是类结构型模式,又是对象结构型模式。此模式与 ( ) 模式类似的特征是,都给另一个对象提供了一定程度上的间接性,都涉及到从自身以外的一个接口向这个对象转发请求。A.桥接(Bridge)B.适配器(Adapter)C.组成(Composite)D.装饰器(Decorator)
部门、员工和项目的关系模式及它们之间的E-R图如下所示,其中,关系模式中带实下划线的属性表示主键属性。部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码,联系若部门和员工关系进行自然连接运算,其结果集为(请作答此空)元关系。由于员工和项目关系之间的联系类型为( ),所以员工和项目之间的联系需要转换成一个独立的关系模式,该关系模式的主键是( )。A.5B.6C.7D.8
下图是( )设计模式的类图,该设计模式的目的是( ),图中,ConcreteStrategy和Strategy之间是( )关系,Strategy和Context之间是(请作答此空)关系。A.依赖B.关联C.继承D.聚合
下图是(请作答此空)设计模式的类图,该设计模式的目的是( ),图中,Subject和Proxy之间是( )关系,Proxy和RealSubject之间是( )关系。A.适配器B.桥接C.装饰D.代理
下图是(请作答此空)设计模式的类图,该设计模式的目的是( ),图中,ConcreteCommand和Command之间是( )关系,Invoker和Command之间是( )关系。A.适配器B.命令C.装饰D.代理
下图中,类Product和ConcreteProduct的关系是(请作答此空),类ConcreteCreator和ConcreteProduct的关系是( )。A.继承B.关联C.组合D.依赖
下图是( )设计模式的类图,该设计模式的目的是(请作答此空),图中,ConcreteCommand和Command之间是( )关系,Invoker和Command之间是( )关系。A.将一个请求封装成一个对象,从而使得可以用不同的请求对客户进行参数化,队请求排队或记录请求日志,以及支持可撤销的操作B.将一个类的接口适配成用户所期待的C.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能D.为一个对象提供代理以控制该对象的访问
下图是( )设计模式的类图,该设计模式的目的是( ),图中,Decorator和Component之间是( )关系,ConcreteDecorator和Decorator之间是(请作答此空)关系。A.依赖B.关联C.继承D.组合
下图是(请作答此空)设计模式的类图,该设计模式的目的是( ),图中,Decorator和Component之间是( )关系,ConcreteDecorator和Decorator之间是( )关系。A.适配器B.桥接C.装饰D.代理
下图是( )设计模式的类图,该设计模式的目的是(请作答此空),图中,Abstraction和RefinedAbstraciton之间是( )关系,Abstraction和Implementor之间是( )关系。A.将一个类的接口转换为客户期望的另一种接口,使得原本不匹配的接口而无法合作的类可以一起工作B.将一个抽象与其实现分离开,以便两者能够各自独立地演变C.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能D.为一个对象提供代理以控制该对象的访问
下图为某设计模式的类图,类State和Context的关系为( ),类(请作答此空)是客户使用的主要接口。A.ContextB.ConcreteStateAC.ConcreteStateBD.State
下图是( )设计模式的类图,该设计模式的目的是(请作答此空),图中,ConcreteStrategy和Strategy之间是( )关系,Strategy和Context之间是( )关系。A.将一个类的接口转换为客户期望的另一种接口,使得原本不匹配的接口而无法合作的类可以一起工作B.定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。C.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能D.为一个对象提供代理以控制该对象的访问
设计模式中的(请作答此空)模式将对象组合成树形结构以表示"部分一整体"的层次结构,使得客户对单个对象和组合对象的使用具有一致性。下图为该模式的类图,其中,( )定义有子部件的那些部件的行为;组合部件的对象由( )通过component提供的接口操作。A.代理(Proxy)B.桥接器(Bridge)C.组合(Composite)D.装饰器(Decorator)
下图是( )设计模式的类图,该设计模式的目的是(请作答此空),图中,Decorator和Component之间是( )关系,ConcreteDecorator和Decorator之间是( )关系。A.将一个类的接口转换为客户期望的另一种接口,使得原本因接口不匹配而无法合作的类可以一起工作B.将一个抽象与其实现分离开,以便两者能够各自独立地演变C.为一个对象提供代理以控制该对象的访问D.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能
欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用(请作答此空)模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中( )定义了实现类接口,该模式适用于( )的情况,该模式属于( )模式。A.适配器(adapten)B.装饰(Decorator)C.桥接(Bridge)D.组合(composite)
设计模式中的( )模式将对象组合成树形结构以表示"部分一整体"的层次结构,使得客户对单个对象和组合对象的使用具有一致性。下图为该模式的类图,其中,( )定义有子部件的那些部件的行为;组合部件的对象由(请作答此空)通过component提供的接口操作。A.ClientB.ComponentC.LeafD.Composite