【2013.3.6】真个的设计模式无需解释,而在心中,在领悟。——Interpreter

【2013.3.6】真正的设计模式无需解释,而在心中,在领悟。——Interpreter

// // // // // // // // //

///2013.3.6

// // // // // // // // //

终于走到了设计模式的最后一个。


平心而论,

之前的22个设计模式大多都是比较常见的,

几乎做任何项目都有使用的价值。


然而这个Interpreter模式则不然,

其适用范围较小。


正如其名,

此模式大多用来解释一些(自定义的)独特语法,

例如某些游戏开发引擎中读取XML文件,

或是WindowsPhone开发中的XAML文件,

都是使用此模式来进行的。


与其说是一种模式,

不如说是一种具有通用规范的行为更为准确。


其简单的一个例子是:

斯摩格密码。


这是我起的名字,

大家也不用去搜索。

但是大致就是如此,

例如一份密码电报,

需要通过特定的解读顺序以及某些关键字来解读,

才可以获取其内容,

而此模式即是大抵如此。


【核心】通过解释器来解释某种特定语法。


UML图:

【2013.3.6】真个的设计模式无需解释,而在心中,在领悟。——Interpreter


这里有必要解释一下UML图:


Interpret方法即是解释器本身的行为。

TerminalExpression是终止符表达式,例如A◎B这个表达式中的A,B即是终止符。

NonterminalExpression是非终止符表达式,上式中的◎符号即为非终止符。

Context就是上下文啦,也就是需要被解释的东西。


未完待续