( )设计模式定义一个用于创建对象的接口,让子类决定实例化哪一个类A.工厂方法(FactoryMethod) B.享元(Flyweight) C.观察者(Observer) D.中介者(Mediator)

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

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

相似考题
更多“( )设计模式定义一个用于创建对象的接口,让子类决定实例化哪一个类”相关问题
  • 第1题:

    以下关于Singleton(单例)设计模式的叙述中,不正确的是( )。

    A.单例模式是创建型模式
    B.单例模式保证一个类仅有一个实例
    C.单例类提供一个访问唯一实例的全局访问点
    D.单例类提供一个创建一系列相关或相互依赖对象的接口

    答案:D
    解析:
    抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类,而非单例模式

  • 第2题:

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

    A. 组合
    B. 外观
    C. 享元
    D. 装饰器

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

  • 第3题:

    下列哪一个接口定义了用于查找、创建和删除EJB实例()

    • A、Home
    • B、Remote
    • C、Local
    • D、Message

    正确答案:A

  • 第4题:

    关于线程的创建过程,下面四种说法正确的有哪些?()

    • A、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
    • B、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
    • C、定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
    • D、定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法

    正确答案:A,C

  • 第5题:

    以下意图哪个是用来描述BUILDER(生成器)?()

    • A、定义一个用于创建对象的接口,让子类决定实例化哪一个类
    • B、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
    • C、保证一个类仅有一个实例,并提供一个访问它的全局访问点
    • D、运用共享技术有效地支持大量细粒度的对象

    正确答案:B

  • 第6题:

    关于模式适用性,在以下情况适合使用Singleton模式?()

    • A、当一个类不知道它所必须创建的对象的类的时候
    • B、当一个类的实例只能有几个不同状态组合中的一种时
    • C、当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时
    • D、当一个类希望由它的子类来指定它所创建的对象的时候

    正确答案:C

  • 第7题:

    以下意图哪个是用来描述FACTORY METHOD(工厂方法)?()

    • A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类
    • B、表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作
    • C、定义一个用于创建对象的接口,让子类决定实例化哪一个类。该模式使一个类的实例化延迟到其子类
    • D、定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化

    正确答案:C

  • 第8题:

    服务接口类采用哪一种设计模式创建实例化的()

    • A、静态工厂模式
    • B、抽象工厂模式
    • C、责任链模式
    • D、策略模式

    正确答案:A

  • 第9题:

    填空题
    ()模式让一个类的实例化延迟到其子类。

    正确答案: 工厂方法
    解析: 暂无解析

  • 第10题:

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

    提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示

    B

    将抽象部分与它的实现部分分离,使它们都可以独立地变化

    C

    定义一个用于创建对象的接口,让子类决定实例化哪一个类

    D

    用一个中介对象来封装一系列的对象交互


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

  • 第11题:

    单选题
    以下意图哪个是用来描述ADAPTER(适配器)?()
    A

    将一个类的接口转换成客户希望的另外一个接口。本模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作

    B

    定义一个用于创建对象的接口,让子类决定实例化哪一个类

    C

    表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作

    D

    将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作


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

  • 第12题:

    填空题
    ()模式中,父类负责定义创建对象的公共接口,子类决定要创建的具体类是哪一个。

    正确答案: 工厂方法
    解析: 暂无解析

  • 第13题:

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

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

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

  • 第14题:

    ()模式中,父类负责定义创建对象的公共接口,子类决定要创建的具体类是哪一个。


    正确答案:工厂方法

  • 第15题:

    造函数用于创建类的实例对象,构造函数名应与类名相同,在类中必须定义构造函数,且只能定义一个构造函数。


    正确答案:错误

  • 第16题:

    关于继承性,下列说法错误的是()

    • A、子类不能直接访问其超类的私有特征,但子类继承其超类的私有特征
    • B、子类的对象可代替其父类的对象
    • C、子类和超类相互依赖
    • D、当一个子类实例化创建一个对象时,该子类的超类也将实例化

    正确答案:C

  • 第17题:

    以下意图哪个是用来描述ABSTRACT FACTORY(抽象工厂)?()

    • A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类
    • B、定义一个用于创建对象的接口,让子类决定实例化哪一个类
    • C、将一个类的接口转换成客户希望的另外一个接口
    • D、表示一个作用于某对象结构中的各元素的操作

    正确答案:A

  • 第18题:

    关于模式适用性,在以下情况不适合使用FACTORY METHOD模式?()

    • A、当一个类不知道它所必须创建的对象的类的时候
    • B、当一个类希望由它的子类来指定它所创建的对象的时候
    • C、当你提供一个产品类库,而只想显示它们的接口而不是实现时
    • D、当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候

    正确答案:C

  • 第19题:

    如何创建一个表格包型布局管理器?()

    • A、 创建GridBagLayout对象即可
    • B、 从GridBagLayout类派生出一个子类
    • C、 创建GridBagLayout对象,并将它以参数形式传递给面板的setLayout函数
    • D、 创建一个自定义类,实现GridBagLayout接口

    正确答案:C

  • 第20题:

    单选题
    以下意图哪个是用来描述FACADE(外观)?()
    A

    为子系统中的一组接口提供一个一致的界面,本模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

    B

    定义一个用于创建对象的接口,让子类决定实例化哪一个类

    C

    保证一个类仅有一个实例,并提供一个访问它的全局访问点

    D

    在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态


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

  • 第21题:

    多选题
    关于线程的创建过程,下面四种说法正确的有哪些?()
    A

    定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法

    B

    定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法

    C

    定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法

    D

    定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法


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

  • 第22题:

    单选题
    下列哪一个接口定义了用于查找、创建和删除EJB实例()
    A

    Home

    B

    Remote

    C

    Local

    D

    Message


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

  • 第23题:

    单选题
    服务接口类采用哪一种设计模式创建实例化的()
    A

    静态工厂模式

    B

    抽象工厂模式

    C

    责任链模式

    D

    策略模式


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