四.解释器模式案例分析(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、运行效果
五、总结(Summary)
解释器模式(Interpreter Pattern),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象的语法树时,可以考虑使用解释器模式。
本文转自 灵动生活 51CTO博客,原文链接:http://blog.51cto.com/smartlife/273755,如需转载请自行联系原作者