下图所示为观察者(Obserrver)模式的抽象示意图,其中(请作答此空)知道其观察者,可以有任何多个观察者观察同一个目标;提供住处和删除观察者对象的接口。此模式体现的最主要的特征是( )。 A.Subject B.Observer C.ConcreteSubject D.ConcreteObserver

题目
下图所示为观察者(Obserrver)模式的抽象示意图,其中(请作答此空)知道其观察者,可以有任何多个观察者观察同一个目标;提供住处和删除观察者对象的接口。此模式体现的最主要的特征是( )。

A.Subject
B.Observer
C.ConcreteSubject
D.ConcreteObserver

相似考题
参考答案和解析
答案:C
解析:
观察者将自己注册到事件,那么具体的事件就知道了自己的观察者观察者和事件都有自己的抽象,当实现具体的观察者和事件的时候都要实现相应接口,所以对扩展是开放的
更多“下图所示为观察者(Obserrver)模式的抽象示意图,其中(请作答此空)知道其观察者,可以有任何多个观察者观察同一个目标;提供住处和删除观察者对象的接口。此模式体现的最主要的特征是( )。 ”相关问题
  • 第1题:

    下面关于观察者模式描述不正确的是( )。

    A.观察者模式实现了表示层和数据层的分离B.观察者模式定义了稳定的更新消息传递机制C.在观察者模式中,相同的数据层不可以有不同的表示层D.观察者模式定义了对象之间的一种一对多的依赖关系


    正确答案:C

  • 第2题:

    下面的UML类图描绘的是(请作答此空)设计模式。关于该设计模式的叙述中,错误的是( )。

    A.桥接
    B.策略
    C.抽象工厂
    D.观察者

    答案:D
    解析:
    本题主要考查设计模式的相关知识。
    桥接模式将抽象部分与实现部分分离,使得它们两部分可以独立地变化。
    策略模式定义一系列的算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。
    抽象工厂提供了一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。
    观察者模式定义对象间的一种一对多依赖关系,使得每当一个对象改变状态,则其相关依赖对象皆得到通知并被自动更新。
    从本题给出的图我们可以判断是观察者模式,其中被观察对象(Subject),具体被观察对象(ConcreteSubject),观察者(Observer)及具体观察者(ConcreteObserver)。在本设计模式中,Observer需要维护至少一个Subject对象,一个Subject对象需要维护多个Observer对象,另外Subject需要通知Observer对象其自身的状态变化。

  • 第3题:

    如下UML类图表示的是(请作答此空)设计模式。以下关于该设计模式的叙述中,错误是( )。

    A.工厂方法
    B.策略
    C.抽象工厂
    D.观察者

    答案:C
    解析:
    本题考查面向对象方法中的设计模式知识。
    题中的类图是抽象工厂设计模式,该设计模式的意图是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。使用抽象工厂设计模式的常见情形是:一个系统要独立于其产品的创建、组合和表示时;一个系统要由多个产品系列中的一个来配置时;当需要强调一系列相关的产品对象的设计以便进行联合使用时;当提供一个产品类库,而只想显示它们的接口不是实现时。对于希望使用已经存在的类,但其接口不符合需求的情形,应当考虑适配器设计模式。

  • 第4题:

    下图所示为观察者(Obserrver)模式的抽象示意图,其中( )知道其观察者,可以有任何多个观察者观察同一个目标;提供住处和删除观察者对象的接口。此模式体现的最主要的特征是(请作答此空)。

    A.类应该对扩展开放,对修改关闭
    B.使所要交互的对象尽量松耦合
    C.组合优先于继承使用
    D.仅与直接关联类交互

    答案:A
    解析:
    观察者将自己注册到事件,那么具体的事件就知道了自己的观察者观察者和事件都有自己的抽象,当实现具体的观察者和事件的时候都要实现相应接口,所以对扩展是开放的

  • 第5题:

    下列属于观察者效应主要表现的是()

    • A、观察者污染
    • B、被观察者对观察者的影响
    • C、观察者遗漏
    • D、观察者培训
    • E、观察者倾向

    正确答案:A,C,E

  • 第6题:

    在观察者模式中,表述错误的是()

    • A、观察者角色的更新是被动的
    • B、被观察者可以通知观察者进行更新
    • C、观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。
    • D、以上表述全部错误

    正确答案:C

  • 第7题:

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

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

    正确答案:A,B,C

  • 第8题:

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

    • A、观察者模式,也叫做发布/订阅模式
    • B、是MVC模式的重要组成部分
    • C、复用性强
    • D、对象之间实名通信

    正确答案:A,B,C

  • 第9题:

    填空题
    观察者模式定义了对象之间()的关系。

    正确答案: 一对多
    解析: 暂无解析

  • 第10题:

    单选题
    对于观察者模式,下面的()说法是错误的。
    A

    观察者的更新是被动的

    B

    被观察者可以通知观察者进行更新

    C

    观察者可以改变被观察者的状态,再由被观察者通知所有观察者

    D

    以上所有选项


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

  • 第11题:

    单选题
    在观察者模式中,表述错误的是()
    A

    观察者角色的更新是被动的

    B

    被观察者可以通知观察者进行更新

    C

    观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。

    D

    以上表述全部错误


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

  • 第12题:

    单选题
    ()关于多个对象想知道一个对象中数据变化情况的一种成熟的模式。
    A

    观察者模式

    B

    命令模式

    C

     策略模式

    D

    责任链模式


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

  • 第13题:

    自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零:交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用(请作答此空)模式设计实现,其类图如下图所示,其中( )是客户程序使用的主要接口,可用状态来对其进行配置。此模式为( ),体现的最主要的意图是( )。

    A.观察者(Obeserver)
    B.状态(State)
    C.策略(Stratehy)
    D.访问者(Visitor)

    答案:B
    解析:
    状态型模式的特点是对于对象内部的状态,允许其在不同的状态下,拥有不同的行为,对状态单独封装成类。题干中根据投入货币的情况,售货机分别有交付产品不找零和交付产品找零以及不提供货物等行为判断该模式是属于状态模式。VendingMachineState是客户程序使用的主要接口。设计模式的类型如下所示:

    观察者模式(ObserverPattern):观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。访问者模式(VisitorPattern):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用与这些元素的新操作。即对于某个对象或者一组对象,不同的访问者,产生的结果不同,执行操作也不同。备忘录模式(MementoPattern):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。策略模式(StrategyPattern):策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。命令模式(CommandPattern):将一个请求封装成一个对象,从而使得用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。

  • 第14题:

    下图所示为观察者(Obserrver)模式的抽象示意图,此模式体现的最主要的特征是( )。

    A.类应该对扩展开放,对修改关闭
    B.使所要交互的对象尽量松耦合
    C.组合优先于继承使用
    D.仅与直接关联类交互

    答案:A
    解析:
    观察者将自己注册到事件,那么具体的事件就知道了自己的观察者观察者和事件都有自己的抽象,当实现具体的观察者和事件的时候都要实现相应接口,所以对扩展是开放

  • 第15题:

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


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

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

  • 第16题:

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

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

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

  • 第17题:

    观察者模式定义了对象之间()的关系。


    正确答案:一对多

  • 第18题:

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

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

    正确答案:A,B

  • 第19题:

    对于观察者模式,下面的()说法是错误的。

    • A、观察者的更新是被动的
    • B、被观察者可以通知观察者进行更新
    • C、观察者可以改变被观察者的状态,再由被观察者通知所有观察者
    • D、以上所有选项

    正确答案:C

  • 第20题:

    判断题
    MVC结构中模型和视图之间交互的实现可以基于观察者模式,其中模型是被观察者。
    A

    B


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

  • 第21题:

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

    观察者模式,也叫做发布/订阅模式

    B

    是MVC模式的重要组成部分

    C

    复用性强

    D

    对象之间实名通信


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

  • 第22题:

    单选题
    临床试验中的双盲法是指(  )。
    A

    被观察者不知道分组情况和接受的治疗措施

    B

    观察者不知道分组情况和接受治疗措施

    C

    被观察者与分析者均不知道分组情况和接受的治疗措施

    D

    观察者与被观察者均不知道分组情况和接受的治疗措施

    E

    观察者与分析者均不知道分组情况和接受的治疗措施


    正确答案: E
    解析:
    双盲法是临床试验的原则,是指试验者和受试者都不知道分组结果,试验者不知道哪个受试者被分配在哪组,受试者不知道自己被施以何种干预措施。这样可以消除试验者和受试者两方面的主观因素影响,保持试验公正客观,这是临床试验用得最多的盲法设计。

  • 第23题:

    单选题
    假设猫是老鼠和狗的观察目标,老鼠和狗是观察者,猫叫老鼠跑,狗也跟着叫,可以使用()描述该过程。
    A

    命令模式

    B

    观察者模式

    C

    责任链

    D

    单例模式


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