问题
单项选择题
某公司欲开发一个基于图形用户界面的集成调试器。该调试器的编辑器和变量监视器可以设置调试断点。当调试器在断点处暂停运行时,编辑程序可以自动卷屏到断点,变量监视器刷新变量数值。针对这样的功能描述,采用______设计模式最为合适。
A.Adapter
B.Observer
C.Interpreter
D.Command
答案
参考答案:D
解析: 在面向过程的程序设计语言中,回调(Callback)函数是指函数先在某处注册,而它将在稍后某个需要的时候被调用。它实际上是一种参数化机制。Command(命令)模式的设计意图是“将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作”。其中一种应用场合就是抽象出待执行的动作以参数化某种对象,可用过程语言中的回调(Callback)函数表达这种参数化机制。Command模式是回调机制的一个面向对象的替代品。
依题意,该调试器在设置端点时,其本质是在断点处设置一个事件监听函数,当程序执行到断点位置时,会触发并调用该事件监听函数,监听函数负责进行自动卷屏、刷新变量数值等动作。这是一个典型的回调机制,属于隐式调用的架构风格,合适采用Command设计模式。