计算机程序设计

关于模式适用性,在以下情况不适合使用FLYWEIGHT(享元)模式?()A、一个应用程序使用了大量的对象B、完全由于使用大量的对象,造成很大的存储开销C、对象的大多数状态都可变为外部状态D、你想使用一个已经存在的类,而它的接口不符合你的需求

题目

关于模式适用性,在以下情况不适合使用FLYWEIGHT(享元)模式?()

  • A、一个应用程序使用了大量的对象
  • B、完全由于使用大量的对象,造成很大的存储开销
  • C、对象的大多数状态都可变为外部状态
  • D、你想使用一个已经存在的类,而它的接口不符合你的需求
参考答案和解析
正确答案:D
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

为图形用户界面(GUI)组件定义不同平台的并行类层次绩构,适合采用()模式。

A.享元(Flyweight)

B.抽象工厂(Abstract Factory)

C.外观(Facade))

D.装饰器(Decorator)


正确答案:C

第2题:

● 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 (43) 设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用 (44) 设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用 (45) 设计模式将该类的接口转换成我们希望的接口。

(43)

A. 命令(Command)

B. 适配器(Adapter)

C. 装饰(Decorate)

D. 享元(Flyweight)

(44)

A. 命令(Command)

B. 适配器(Adapter)

C. 装饰(Decorate)

D. 享元(Flyweight)

(45)

A. 命令(Command)

B. 适配器(Adapter)

C. 装饰(Decorate)

D. 享元(Flyweight)


正确答案:C,D,B


第3题:

当不适合采用生成子类的方法对已有的类进行扩充时,可以采用( )没计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用( )设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用( )设计模式将该类的接口转换成我们希望的接口。

A.命令(Command)

B.适配器(Adapter)

C.装饰(Decorate)

D.享元(Flyweight)


正确答案:C
解析:装饰模式主要的目的是在无法生成子类的情况下给一个对象动态地增加新的职责;享元设计模式是共享大量细粒度的对象;适配器设计模式则是将已有的接口转换为系统希望的接口形式。

第4题:

对象池和享元模式的根本不同在于()

  • A、对象池中的对象可以复用,享元模式中的对象不能复用
  • B、对象池可以提升系统性能,享元模式不能
  • C、对象池中的每个对象都是等价的,享元模式中的每个对象是不等价的
  • D、对象池中的每个对象是不等价的,享元模式中的每个对象是等价的

正确答案:C

第5题:

欲使一个后端数据模型能够被多个前端用户界面连接,采用( )模式最适合

A.装饰器(Decorator)
B.享元(Flyweight)
C.观察者(Observer)
D.中介者(Mediator)

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

第6题:

因使用大量的对象而造成很大的存储开销时,适合采用()模式进行对象共享,以减少对象数量从而达到较少的内存占用并提升性能。

A.组合(Composite)

B.享元(Flyweight)

C.迭代器(Iterator)

D.备忘(Memento)


正确答案:B

第7题:

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

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)

第8题:

图4-6示意的为(48)设计模式,表示一个作用于某对象结构中的各元素的操作。

A.Visitor(访问者)

B.Observer(观察者)

C.Flyweight(享元)

D.Prototype(原型)


正确答案:A
解析:图4-6示意的Visitor(访问者)模式,其设计意图是:表示一个作用于某对象结构中的各元素的操作。它可在不改变各元素的类的前提下定义作用于这些元素的新操作。

第9题:

图形用户界面(GUI)组件定义不同平台的并行类层次结构,适合采用(1)模式。



A.享元(Flyweight)
B.抽象工厂(Abstract Factory)
C.外观(Facade)
D.装饰器(Decorator)

答案:C
解析:
外观模式为子系统中的一组接口提供一个一致的界面,外观模式通过提供一个高层接口,隔离了外部系统与子系统间复杂的交互过程,使得复杂系统的子系统更易使用

第10题:

当客户程序与抽象类的实现部分之间存在很大的依赖性时,可以考虑使用()

  • A、单例模式
  • B、享元模式
  • C、工厂模式
  • D、外观模式

正确答案:D

更多相关问题