四.解释器模式案例分析(Example)
1、场景
罗马字符转换为十进制数字
,
如下图所示
Expression
抽象类
:抽象表达式,声明一个抽象的解释器操作,这个抽象类为抽象语法树中所有的节点所共享。
ThousandExpression
类
:用来核对罗马字符中的
M
;
HundredExpression
类
:用来核对罗马字符中的
C, CD, D or CM
;
TenExpression
类
:用来核对罗马字附中的
X, XL, L and XC
;
OneExpression
类
:用来核对罗马字附中的
I, II, III, IV, V, VI, VI, VII, VIII, IX
。
2、源码
3、运行效果
五、总结(Sum
ma
ry)
解释器模式(
Interpreter Pattern
),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象的语法树时,可以考虑使用解释器模式。
本文转自 灵动生活 51CTO博客,原文链接:http://blog.51cto.com/smartlife/273755,如需转载请自行联系原作者