接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(106)-优快云博客
第193题
某公司欲开发一套窗体图形界面类库。该类库包含若干预定义的窗格(Pane)对象,例如TextPane、ListPane等,窗格之间不允许直接引用。基于该类库的应用由一个包含一组窗格的窗口组成,并需要协调窗格之间的行为。基于该类库,在不引用窗格的前提下实现窗格之间的协作,应用开发者应采用()最为合适。
A. 备忘录模式
B. 中介者模式
C. 访问者模式
D. 迭代器模式
正确答案:B。
所属知识点:旧版教材 软件工程 -> 软件模式。
试题解析:
本题主要考查设计模式的理解与应用。根据题干描述,应用系统需要使用某公司开发的类库,该应用系统由一组窗格组成,应用需要协调窗格之间的行为,并且不能引用窗格自身。在这种要求下,对比4个候选项,其中中介者模式用一个中介对象封装一系列的对象交互。中介者使用各对象不需要显式地相互调用,从而使其耦合松散。可以看出该模式最符合需求。
这里也提一下备忘录的使用场景。备忘录模式的使用场景是,允许用户取消不确定或者错误的操作,能够恢复到其原先的状态,使得他有“后悔药”可吃。
关于中介者模