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

admin2019-04-22  26

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

选项 A、享元(Flyweight)
B、抽象工厂(Abstract Factory)
C、外观(Fagade)
D、装饰器(Decorator)

答案B

解析 本题考查设计模式的基本概念。每种设计模式都有特定的意图和适用情况。
享元(Flyweight)模式运用共享技术有效地支持大量细粒度的对象。适用于:一个应用程序使用了大量的对象;完全由于使用大量的对象而造成很大的存储开销;对象的大多数状态都可变为外部状态;如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象;应用程序不依赖于对象标识。
    抽象工厂(Abstract Factory)模式提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。适用于:一个系统要独立于它的产品的创建、组合和表示时;一个系统要由多个产品系列中的一个来配置时;当要强调一系列相关的产品对象的设计以便进行联合使用时;当提供一个产品类库,而只想显示它们的接口而不是实现时。如为图形用户界面(GUI)组件定义不同平台的并行类层次结构,适合采用此模式,其中抽象工厂声明一个创建抽象界面组件的操作接口,具体工厂实现创建产品对象的操作。
    外观(Fagade)模式为子系统中的一组接口提供一个一致的界面,Faqade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。适用于:要为一个复杂子系统提供一个简单接口时,子系统往往因为不断演化而变得越来越复杂;客户程序与抽象类的实现部分之间存在着很大的依赖性;当需要构建一个层次结构的子系统时,使用facade模式定义子系统中每层的入口点。
    装饰器(Decorator)模式描述了以透明围栏来支持修饰的类和对象的关系,动态地给一个对象添加一些额外的职责,从增加功能的角度来看,装饰器模式相比生成子类更加灵活。适用于:在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责;处理那些可以撤销的职责;当不能采用生成子类的方式进行扩充时。
转载请注明原文地址:https://kaotiyun.com/show/X4RZ777K
0

最新回复(0)