名称:解释器

解释器设计模式用于分析一个实体的关键元素,并且针对每个元素都提供自己的解释或相应的动作。

问题与解决方案:

为了理解解释器设计模式的工作原理,我们以宏语言的处理为例。为每个宏编写的命令本身是更多命令的集合。简化的宏语言使编程人员不必考虑其他系统命令的语法就能够更容易的完成创建操作。在某种情况下,这也能踢身安全性,此时变成人员不直接访问系统命令。相反,编程人员在某种沙箱内编写包装器方法来执行系统命令。宏语言会被解释和转换为一组要执行的命令。

通过查看模板系统也可以认识解释其设计模式。特定的预定义关键字或符号被定义为表示其他事物。模板处理器用于接受代码,解释器每个关键字以引用特定的指令集,并执行这些代码。

构建基于解释其设计模式的系统允许第三方或用户更为灵活的表示和检索系统提供的数据。我们并不通过预订义方法名或特定常量来表时间所数据的类型,而是使用一组关键字检索这些数据。

例如,通过发送一个包含关键字的请求,使用Web服务的第三方可以按照希望的顺序规定希望检索的值。这个请求可能按照其构造方式模拟一个XML路径语言查询。基于解释器设计模式的类随后会检索按请求顺序符号化的所有键组成的信息的每一位。由于对关键字的解释是一点点完成的,因此并不要求为一个复杂的预订义数据集设置顺序。对于一个CD来说,请求可能采用这样的形式:“band title track4”。此时,解释器知道向请求者返回乐队名称、CD标题和曲目数4的名称。下一个请求可能是“track3 title”,解释器则会返回第三音轨的名称和CD的标题。

UML:

Interpreter

代码示例: