问题
单项选择题
某公司欲开发一套窗体图形界面类库。该类库需要包含若干预定义的窗格(Pane)对象,例如TextPane、ListPane等,窗格之间不允许直接引用。基于该类库的应用由一个包含一组窗格的窗口组成,并需要协调窗格之间的行为。基于该类库,在不引用窗格的前提下实现窗格之间的协作,应用开发者应采用______最为合适。
A.备忘录模式
B.中介者模式
C.访问者模式
D.迭代器模式
答案
参考答案:B
解析: 本题所涉及的四种模式中,中介者模式、访问者模式、迭代器模式均已在前面进行了介绍。备忘录(memento)模式是确保在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤。
根据题干描述,应用系统需要使用某公司开发的类库,该应用系统由一组窗格组成,应用需要仂、调窗格之间的行为,并且不能引用窗格自身,在这种要求下,对比4个候选项,其中中介者模式用一个中介对象封装一系列的对象交互。中介者使用各对象不需要显式地相互调用,从而使其耦合松散。可以看出该模式最符合需求。