详谈:解释器模式(二)

接上文。

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

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

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

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

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

相关推荐
萤虫之光4 小时前
详谈:解释器模式(一)
解释器模式
ZouZou老师4 天前
C++设计模式之解释器模式:以家具生产为例
c++·设计模式·解释器模式
o0向阳而生0o4 天前
115、23种设计模式之解释器模式(22/23)
设计模式·解释器模式
开心香辣派小星9 天前
23种设计模式-15解释器模式
java·设计模式·解释器模式
明洞日记17 天前
【设计模式手册014】解释器模式 - 语言解释的优雅实现
java·设计模式·解释器模式
十步杀一人_千里不留行1 个月前
解释器模式:为 LLM 构建迷你 DSL 解释器,实现 Prompt 编排语言
python·prompt·解释器模式
TsengOnce2 个月前
设计模式(解释器模式(Interpreter Pattern)结构|原理|优缺点|场景|示例
设计模式·解释器模式
青草地溪水旁2 个月前
第二十三章:解析天书,诠释法则——Interpreter的解释艺术
解释器模式
大飞pkz2 个月前
【设计模式】解释器模式
开发语言·设计模式·c#·解释器模式