解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。
下面以2+3-4/2为例子说明:
|
|
对于叶子节点的数字,也就是终结符表达式来说:
|
|
对于非叶子节点的运算符,也就是非终结符表达式来说,都需要一个左值和右值才能进行解析运算:
|
|
对于减法Sub.java
、乘法Mul.java
和除法Div.java
也是类似的
当进行计算时:
|
|
Keep Moving, Keep Learning
解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。
下面以2+3-4/2为例子说明:
|
|
对于叶子节点的数字,也就是终结符表达式来说:
|
|
对于非叶子节点的运算符,也就是非终结符表达式来说,都需要一个左值和右值才能进行解析运算:
|
|
对于减法Sub.java
、乘法Mul.java
和除法Div.java
也是类似的
当进行计算时:
|
|