详谈:解释器模式(二)

接上文。

看到这个需求,我们很容易想到一种写法:将输入的字符串分割成单个字符,把数字字符通过switch-case转换为数字,再通过计算符判断是加法还是减法,对应做加、减计算,最后返回结果即可。

计划的确可行,但这实在太面向过程了,众所周知面向过程编程会有耦合度高,不易扩展等缺点。接下来我们尝试按照面向对象的写法来实现这个功能。

按照面向对象的编程思想,我们应该为公式中不同种类的元素建立一个对应的对象。那么我们先分析一下公式中的成员:

  • 数字:零到九 对应 0 ~ 9
  • 计算符:加、减 对应 +、-

公式中仅有这两种元素,其中对于数字的处理比较简单,只需要通过switch-case将中文名翻译成阿拉伯数字即可。

相关推荐
拾光Ծ2 分钟前
进程程序替换与exec函数族详解 与进程替换实战:自主Shell命令行解释器实现
linux·运维·服务器·阿里云·解释器模式
__万波__18 小时前
二十三种设计模式(二十)--解释器模式
java·设计模式·解释器模式
老朱佩琪!11 天前
Unity解释器模式
解释器模式
Yeniden21 天前
Deepeek用大白话讲解 → 解释器模式(企业级场景1,规则引擎2,表达式解析3,SQL解析4)
java·sql·解释器模式
萤虫之光21 天前
详谈:解释器模式(三)
解释器模式
萤虫之光23 天前
详谈:解释器模式(四)
解释器模式
萤虫之光24 天前
详谈:解释器模式(一)
解释器模式
ZouZou老师1 个月前
C++设计模式之解释器模式:以家具生产为例
c++·设计模式·解释器模式
o0向阳而生0o1 个月前
115、23种设计模式之解释器模式(22/23)
设计模式·解释器模式