解释器模式(大数据项目实例分析):
大数据统计项目遇到的问题
大数据统计项目遇到的问题:按照计算模型对现有数据统计、分析、预测
一般的计算模型是一个或多个运算公式,通常是加减乘除四则运算
计算模型需要运行期编辑
设计方案要有高扩展性
计算模型按正常算术方式书写,解释器处理语法逻辑
计算模型里有两类符号:数据和计算符
用逆波兰算法分析算式语法
计算模型按正常算术方式书写,解释器处理语法逻辑
计算模型里有两类符号:数据和计算符
用逆波兰算法分析算式语法
用解释器模式处理数据
解释器模式:定义一个语法, 定义一个解释器,该解释器处理该语法句子
将某些复杂问题,表达为某种语法规则,然后构建解释器来解释处理这类句子
关系类图:
优点:
容易修改,修改语法规则只要修改相应非终结符即可
扩展方便,扩展语法,只要增加非终结符类即可
缺点:
对于复杂语法的表示会产生复杂的类层次结构,不便管理和维护
解释器采用递归方式,效率会受影响
适用场合:
当你有一个简单语法,而且效率不是问题的时候
一些数据分析工具、报表设计工具、科学计算工具等
注意事项:
尽量不要在重要的模块中使用解释器模式
解释器模式在实际的系统开发中使用的非常少
可以考虑一下Expression4J、MESP、Jep等开源的解析工具包