单选题
当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 (61) 设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用 (62) 设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用 (63) 设计模式将该类的接口转换成我们希望的接口。
单选题
A.命令(Command) B.适配器(Adapter)
C.装饰(Decorate) D.享元(Flyweight)
单选题
A.命令(Command) B.适配器(Adapter)
C.装饰(Decorate) D.享元(Flyweight)
单选题
A.命令(Command) B.适配器(Adapter)
C.装饰(Decorate) D.享元(Flyweight)
【正确答案】
B
【答案解析】[解析] 本题考查设计模式的相关知识,是一个重要的知识点。
命令模式把一个请求或者操作封装到一个对象中,也就是把发出命令的责任和执行命令的责任分割开,分派给不同的对象,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收、操作是否执行、何时被执行以及是怎么被执行的。
适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。它还可以根据参数返还一个合适的实例给客户端将两个不兼容的类结合在一起使用。
享元模式以共享的方式高效地支持大量的细粒度对象。享元模式能做到共享的关键是区分内蕴状态和外蕴状态。内蕴状态存储在享元内部,不会随环境的改变而有所不同。外蕴状态是随环境的改变而改变的。外蕴状态不能影响内蕴状态,它们是相互独立的。将可以共享的状态和不可以共享的状态从常规类中区分开来,将不可以共享的状态从类里剔除出去。享元模式大幅度地降低了内存中对象的数量。
装饰模式以对客户端透叫的方式扩展对象的功能,是继承关系的一个替代方案,提供比继承更多的灵活性,动态给一个对象增加功能,这些功能可以再动态地撤销。