案例
计算求值
通过解释器模式来实现四则运算,如果a+b-c的值,具体要求
- 先输入表达式的形式,比如a+b+c-d+e,要求表达式的字母不能重复
- 在分别输入a,b,c,d,e的值
- 最后求出结果: 如图
好家伙,这回强行让我们用这个模式了
玩不起他
传统方案解决四则运算问题分析
- 编写一个方法,接收表达式的形式,然后根据用户输入的数值进行解析,得到结果
- 问题分析: 如果加入新的运算符,比如 * / (等等,不利于扩展,另外让一个方法来解析会造成程序结构混乱,不够清晰
- 解决方案: 可以考虑使用解释器模式,即:表达式 -> 解释器(可以有多种) -> 结果