一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。采用 (43) 模式,用一个中介对象来封装一系列的对象交互,从而使各对象不需要显式地相互引用,使其耦合松散,而且可以独立地改变它们之间的交互。此模式与 (44) 模式是

admin2016-05-10  31

问题     一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。采用  (43)  模式,用一个中介对象来封装一系列的对象交互,从而使各对象不需要显式地相互引用,使其耦合松散,而且可以独立地改变它们之间的交互。此模式与  (44)  模式是相互竞争的模式,主要差别是:前者的中介对象封装了其他对象间的通信,而后者通过引入其他对象来分布通信。
(44)

选项 A、解释器(Interpreter)
B、策略(Strategy)
C、中介者(Mediator)
D、观察者(Observer)

答案D

解析 本题考查设计模式的基本概念。
    解释器(Interpreter)设计模式是给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。策略(Strategy)设计模式定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。这一模式使得算法可独立于它的客户而变化。中介者(Mediator)用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。观察者(Observer)模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
    以上四种设计模式都是行为设计模式。行为设计模式大多注重封装变化,当一个程序的某个方面的特征经常发生改变时,这些模式就定义一个封装这个方面的对象。这样,当该程序的其他部分依赖于这个方面时,它们都可以与此对象协作。这些模式通常定义一个抽象类来描述这些封装变化的对象,并且通常该模式依据这个对象来命名。例如:一个Strategy对象封装一个算法,一个Mediator对象封装对象间的协议。Mediator和Observer是相互竞争的模式,之间的差别是:Observer通过引入Observer和Subject对象来分布通信,而Mediator对象则封装了其他对象间的通信。
转载请注明原文地址:https://kaotiyun.com/show/ikRZ777K
0

相关试题推荐
最新回复(0)