一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。采用()模式,用一个中介对象来封装一系列的对象交互,从而使各对象不需要显式地相互引用,使其耦合松散,。而且可以独立地改变它们之间的交互。此模式与()模式是相互竞争的模式,主要差别是:前者的中介对象封装了其它对象间的通信,而后者通过引入其它对象来分布通信。A、解释器(Interpreter)B、策略(Strategy)C、中介者(Mediator)D、观察者(Observer)

题目

一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。采用()模式,用一个中介对象来封装一系列的对象交互,从而使各对象不需要显式地相互引用,使其耦合松散,。而且可以独立地改变它们之间的交互。此模式与()模式是相互竞争的模式,主要差别是:前者的中介对象封装了其它对象间的通信,而后者通过引入其它对象来分布通信。

  • A、解释器(Interpreter)
  • B、策略(Strategy)
  • C、中介者(Mediator)
  • D、观察者(Observer)

相似考题
更多“一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。采用()模式,用一个中介对象来封装一系列的对象交互,从而使各对象不需要显式地相互引用,使其耦合松散,。而且可以独立地改变它们之间的交互。此模式与()模式是相互竞争的模式,主要差别是:前者的中介对象封装了其它对象间的通信,而后者通过引入其它对象来分布通信。A、解释器(Interpreter)B、策略(Strategy)C、中介者(Mediator)D、观察者(Observer)”相关问题
  • 第1题:

    模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下( 45 )情况适合选用该模式。 ①一个客户需要使用一组相关对象 ②一个对象的改变需要改变其它对象 ? 需要使用一个算法的不用变体 ④许多相关的类仅仅是行为有异

    A.命令(Command)

    B.责任链(Chain of Responsibility)

    C.观察者(Observer)

    D.策略(Strategy)


    正确答案:D

  • 第2题:

    一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难 以理解。采用 (43) 模式,甩一个中介对象来封装一系列的对象交互,从而使各对 象不需要显式地相互引用,使其耦合松散,而且可以独立地改变它们之间的交互。此模 式与 (44) 模式是相互竞争的模式,主要差别是:前者的中介对象封装了其他对象 间的通信,而后者通过引入其他对象来分布通信。

    A.解释器(intepeter)

    B.策略(Strategy)

    C.中介者(Mediator)

    D.观察者(Observer)


    正确答案:C
    本题考查设计模式的基本概念。解释器(Interpreter)设计模式是给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。策略(Strategy)设计模式定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。这一模式使得算法可独立于它的客户而变化。中介者(Mediator)用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互,观察者(Observer)模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。以上四种设计模式都是行为设计模式。行为设计模式大多注重封装变化,当一个程序的某个方面的特征经常发生改变时,这些模式就定义一个封装这个方面的对象。这样,当该程序的其他部分依赖于这个方面时,它们都可以与此对象协作。这些模式通常定义一个抽象类来描述这些封装变化的对象,并且通常该模式依据这个对象来命名。例如:一个Strategy对象封装一个算法,一个Mediator对象封装对象间的协议。Mediator和Observer是相互竞争的模式,之间的差别是:Observer通过引入Observer和Subject对象来分布通信,而Mediator对象则封装了其他对象间的通信。

  • 第3题:

    结构型设计模式涉及如何组合类和对象以获得更大的结构,分为结构型类模式和 结构型对象模式。其中,结构型类模式采用继承机制来组合接口或实现,而结构型对象模式描述了如何对一些对象进行组合,从而实现新功能的一些方法。以下(48)模式是结构型对象模式。

    A.中介者 (Mediator)
    B.构建器(Builder)
    C.解释器(Interpreter)
    D.组合(Composite)

    答案:D
    解析:
    结构型模式是描述如何将类对象结合在一起,形成一个更大的结构,结构模式描述两种不同的东西:类与类的实例。故可以分为类结构模式和对象结构模式。在GoF设计模式中,结构型模式有: 1.适配器模式 Adapter 2.桥接模式 Bridge 3.组合模式 Composite 4.装饰模式Decorator 5.外观模式 Facade 6.享元模式 Flyweight 7.代理模式 Proxy

  • 第4题:

    一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。采用 (请作答此空) 模式,用一个中介对象来封装一系列的对象交互,从而使各对象不需要显式地相互引用,使其耦合松散,而且可以独立地改变它们之间的交互。此模式与 ( ) 模式是相互竞争的模式,主要差别是:前者的中介对象封装了其他对象间的通信,而后者通过引入其他对象来分布通信。

    A.解释器(Interpreter)
    B.策略(Strategy)
    C.中介者(Mediator)
    D.观察者(Observer)

    答案:C
    解析:
    中介者模式包装了一系列对象相互作用的方式,使得这些对象不必互相明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。在中介者模式中,所有的成员对象者可以协调工作,但是又不直接相互管理。这些对象都与一个处于中心地位的中介者对象发生紧密的关系,由这个中介者对象进行协调工作。这个协调者对象叫作中介者(Mediator),而中介者所协调的成员对象称作同事(Colleague)对象。
    在观察者模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。

  • 第5题:

    观察者(Observer)模式适用于( )。

    A.访问一个聚合对象的内容,而无需暴露他的内部表示
    B.减少多个对象或类之间的通信复杂性
    C.将对象的状态恢复到先前的状态
    D.一个多对象依赖关系。当一个对象修改后,依赖他的对象都自动得到通知

    答案:D
    解析:
    观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新

  • 第6题:

    ( )设计模式能够动态地给一个对象添加一些额外的职责而无须修改此对象的结构;( )设计模式定义一个用于创建对象的接口,让子类决定实例化哪一个类;欲使一个后端数据模型能够被多个前端用户界面连接,采用(请作答此空)模式最适合。

    A. 装饰器
    B. 享元
    C. 观察者
    D. 中介者

    答案:D
    解析:
    组合(Composite)模式将对象组合成树形结构以表示“部分一整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。适用于:想表示对象的部分—整体层次结构;希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。外观(Facade)模式为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。适用于:要为一个复杂子系统提供一个简单接口时,子系统往往因为不断演化而变得越来越复杂;客户程序与抽象类的实现部分之间存在着很大的依赖性;当需要构建一个层次结构的子系统时,使用Facade模式定义子系统中每层的入口点。享元(Flyweight)模式运用共享技术有效地支持大量细粒度的对象。适用于:一个应用程序使用了大量的对象;完全由于使用大量的对象,造成很大的存储开销;对象的大多数状态都可变为外部状态;如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象;应用程序不依赖于对象标识。装饰器(Decorator)模式描述了以透明围栏来支持修饰的类和对象的关系,动态地给一个对象添加一些额外的职责,从增加功能的角度来看,装饰器模式相比生成子类更加灵活。适用于:在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责;处理那些可以撤销的职责;当不能采用生成子类的方式进行扩充时。工厂方法(Factory Method)定义一个用于创建对象的接口,让子类决定将哪一个类实例化,使一个类的实例化延迟到其子类。适用于:当一个类不知道它所必须创建的对象的类的时候;当一个类希望由它的子类来指定它所创建的对象的时候;当类将创建对象的职责委托给多个帮助子类中的某一个,并且希望将哪一个帮助子类是代理者这一信息局部化的时候。观察者(Observer)模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。适用于:当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两者封装在独立的对象中以使它们可以各自独立地改变和复用;当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变时;当一个对象必须通知其他对象,而它又不能假定其他对象是谁,即不希望这些对象是紧耦合的。中介者(Mediator)用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。适用于:一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解;一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象;想定制一个分布在多个类中的行为,而又不想生成太多的子类。如使一个后端数据模型能够被多个前端用户界面连接,采用此模式最合适。

  • 第7题:

    按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有( )模式等;( )模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;(请作答此空 )模式主要用于对象之间的职责及其提供服务的分配方式,其代表有( )模式等。

    A. 行为型
    B. 交互型
    C. 耦合性
    D. 关联型

    答案:A
    解析:
    按照设计模式的目的进行划分,现有的设计模式可以分为三类。创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有Singleton模式等;结构型模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;行为型模式主要用于对象之间的职责及其提供服务的分配方式,其代表有Visitor模式等。

  • 第8题:

    Observer(观察者)模式适用于()

    • A、当一个抽象模型存在两个方面,其中一个方面依赖于另一方面,将这二者封装在独立的对象中以使它们可以各自独立地改变和复用
    • B、当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变时
    • C、当一个对象必须通知其它对象,而它又不能假定其它对象是谁也就是说你不希望这些对象是紧密耦合的
    • D、一个对象结构包含很多类对象,它们有不同的接口,而想对这些对象实施一些依赖于其具体类的操作

    正确答案:C

  • 第9题:

    以下意图哪个是用来描述MEDIATOR(中介者)?()

    • A、提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示
    • B、将抽象部分与它的实现部分分离,使它们都可以独立地变化
    • C、定义一个用于创建对象的接口,让子类决定实例化哪一个类
    • D、用一个中介对象来封装一系列的对象交互

    正确答案:D

  • 第10题:

    单选题
    关于模式适用性,在以下情况不适合使用OBSERVER(观察者)模式?()
    A

    当一个抽象模型有两个方面,其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用

    B

    当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变

    C

    当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之,你不希望这些对象是紧密耦合的

    D

    在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责


    正确答案: A
    解析: 暂无解析

  • 第11题:

    单选题
    Strategy(策略)模式的意图是()。
    A

    定义一系列的算法,把它们一个个的封装起来,并且使它们可相互替换。

    B

    为一个对象动态连接附加的职责。

    C

    你希望只拥有一个对象,但不用全局对象来控制对象的实例化。

    D

    在对象之间定义一种一对多的依赖关系,这样当一个对象的状态改变时,所有依赖于它的对象都将得到通知并自动更新。


    正确答案: B
    解析: 暂无解析

  • 第12题:

    填空题
    中介者模式的要点是将所有对象之间的交互细节抽象到一个独立的类中,这个类叫做()

    正确答案: 中介者类
    解析: 暂无解析

  • 第13题:

    对于如下所示的序列图所描述的场景,最适合于采用的设计模式是( );该模式适用的场合是( )。

    A.Visitor B.Strategy C.Observer D.State A.对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为 B.定义对象结构的类很少改变,但经常需要在此结构上定义新的操作 C.需要使用一个算法的不同变体 D.一个对象必须通知其它对象,而它又不能假定其它对象是谁


    正确答案:A,B

  • 第14题:

    行为型设计模式描述类或对象怎样交互和怎样分配职责,涉及算法和对象职责的分配,其中()模式将一个语言的文法表示为一个类层次,每个类定义一个解释操作,来解释语言中的句子

    A.解释器
    B.模版方法
    C.中介者
    D.责任链

    答案:A
    解析:
    解释器模式定义一个语言的文法,并且建立一个解释器来解释该语言中的句子,这里的“语言”是指使用规定格式和语法的代码。解释器模式是一种行为型模式。

  • 第15题:

    (请作答此空)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下( )情况适合选用该模式。①一个客户需要使用一组相关对象②一个对象的改变需要改变其他对象③需要使用一个算法的不同变体④许多相关的类仅仅是行为有异

    A.命令(Command)
    B.责任链(ChainofResponsibility)
    C.观察者(Observer)
    D.策略(Strategy)

    答案:D
    解析:
    命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。责任链:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。策略模式:定义一系列的算法,把每一个算法封装起来,并且是它们可互相替换。本模式使得算法可独立于使用它的客户而变化。

  • 第16题:

    ( )设计模式定义一个用于创建对象的接口,让子类决定实例化哪一个类

    A.工厂方法(FactoryMethod)
    B.享元(Flyweight)
    C.观察者(Observer)
    D.中介者(Mediator)

    答案:A
    解析:
    抽象工厂模式(Abstract Factory):提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类
    构建器模式(Builder):将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得出不同的表示
    工厂方法模式(Factory Method):定义一个创建对象的接口,但由子类决定需要实例化哪一个类工厂方法使得子类实例化的过程推迟
    原型模式(Prototype):用原型实例指定创建对象的类型,并且通过拷贝这个原型来创建新的对象
    单例模式(Singleton):保证一个类只有一个实例,并提供一个访问它的全局访问点
    适配器模式(Adapter):将一个类的接口转换成用户希望得到的另一种接口它使原本不相容的接口得以协同工作
    桥接模式(Bridge):将类的抽象部分和它的实现部分分离开来,使它们可以独立地变化
    组合模式(Composite):将对象组合成树型结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性
    装饰模式(Decorator):动态地给一个对象添加一些额外的职责它提供了用子类扩展功能的一个灵活的替代,比派生一个子类更加灵活
    外观模式(Facade):定义一个高层接口,为子系统中的一组接口提供一个一致的外观,从而简化了该子系统的使用
    享元模式(Flyweight):提供支持大量细粒度对象共享的有效方法
    代理模式(Proxy):为其他对象提供一种代理以控制这个对象的访问
    职责链模式(Chain of)

  • 第17题:

    一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。采用(43)模式,用一个中介对象来封装一系列的对象交互,从而使各对象不需要显式地相互引用,使其耦合松散,而且可以独立地改变它们之间的交互。此模式与(44)模式是相互竞争的模式,主要差别是:前者的中介对象封装了其他对象间的通信,而后者通过引入其他对象来分布通信。

    A.解释器(Interprete
    B.策略(StrA.tegy)
    C.中介者(MediA.tor)
    D.观察者(Observer)

    答案:D
    解析:
    中介者模式包装了一系列对象相互作用的方式,使得这些对象不必互相明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此地变化。在中介者模式中,所有的成员对象者可以协调工作,但是又不直接相互管理。这些对象都与一个处于中心地位的中介者对象发生紧密的关系,由这个中介者对象进行协调工作。这个协调者对象叫作中介者(Mediator),而中介者所协调的成员对象称作同事(Colleague)对象。在观察者模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。

  • 第18题:

    按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有(9)模式等;(10)模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;(11)模式主要用于对象之间的职责及其提供服务的分配方式,其代表有(12)模式等。【回答括号11】

    A.. 行为型
    B. 交互型
    C. 耦合性
    D. 关联型

    答案:A
    解析:
    按照设计模式的目的进行划分,现有的设计模式可以分为三类。

    创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有Singleton模式等;

    结构型模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;

    行为型模式主要用于对象之间的职责及其提供服务的分配方式,其代表有Visitor模式等。

  • 第19题:

    一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。采用( )模式,用一个特定对象来封装一系列的对象交互,从而使各对象不需要显式地相互引用,使其耦合松散,而且可以独立地改变它们之间的交互。


    A. 解释器(Interpreter)
    B. 策略(Strategy)
    C. 中介者(Mediator)
    D. 迭代器(Iterator)

    答案:C
    解析:
    解释器模式属于类的行为模式,描述了如何为语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子,这里的“语言”是使用规定格式和语法的代码。

    策略模式是一种对象的行为型模式,定义一系列算法,并将每个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,其目的是将行为和环境分隔,当出现新的行为时,只需要实现新的策略类。

    中介者模式是一种对象的行为行模式,通过一个中介对象来封装一系列的对象交互。中介者使得各对象不需要现实地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者对象的存在保证了对象结构上的稳定,也就说说系统的结构不会因为新对象的引入带来大量的修改工作。

    迭代器模式是一种对象的行为型模式,提供了一种方法来访问聚合对象,而不用暴露这个对象的内部表示。迭代器模式支持以不同的方式遍历一个聚合对象。

  • 第20题:

    关于观察者模式说法正确的是?()

    • A、观察者(Observer)模式,也叫发布/订阅(Publish/SubscribE.模式。
    • B、是MVC(模型-视图-控制器)模式的重要组成部分。
    • C、复用性强。
    • D、对象之间实名通信。

    正确答案:A,B

  • 第21题:

    多选题
    关于观察者模式说法正确的是?()
    A

    观察者(Observer)模式,也叫发布/订阅(Publish/SubscribE.模式。

    B

    是MVC(模型-视图-控制器)模式的重要组成部分。

    C

    复用性强。

    D

    对象之间实名通信。


    正确答案: A,C
    解析: 暂无解析

  • 第22题:

    判断题
    中介者模式中的中介其实仅提供一个交互的平台,具体的交互还是对象之间来完成的
    A

    B


    正确答案:
    解析: 暂无解析

  • 第23题:

    判断题
    行为模式涉及怎样合理地设计对象之间的交互通信,以及怎样合理为对象分配职责
    A

    B


    正确答案:
    解析: 暂无解析