案例

计算求值

通过解释器模式来实现四则运算,如果a+b-c的值,具体要求

  1. 先输入表达式的形式,比如a+b+c-d+e,要求表达式的字母不能重复
  2. 在分别输入a,b,c,d,e的值
  3. 最后求出结果: 如图

好家伙,这回强行让我们用这个模式了

玩不起他

传统方案解决四则运算问题分析

  1. 编写一个方法,接收表达式的形式,然后根据用户输入的数值进行解析,得到结果
  2. 问题分析: 如果加入新的运算符,比如 * / (等等,不利于扩展,另外让一个方法来解析会造成程序结构混乱,不够清晰
  3. 解决方案: 可以考虑使用解释器模式,即:表达式 -> 解释器(可以有多种) -> 结果


results matching ""

    No results matching ""