如何让孩子爱上设计模式 ——20.解释器模式(Interpret

2017-03-20  本文已影响47人  coder_pig

标签: 设计模式初涉


描述性文字

解释器模式是一个用的比较少的设计模式,而且不太好理解,先说下概念相关的东西
再写个代码示例帮助下理解:

定义

给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个
解释器,客户端可以使用这个解释器来解释这个语言中的句子。

四个角色

UML类图

优缺点

优点

缺点

使用场景


代码示例

定义一个能够解释加减法的解释器作为示例

先定义抽象表达式

接着定义加减法两个非终结符表达式

再接着定义常量与变量两个终结符表达式

然后定义上下文环境,用Map存放各个终结符对应的具体值

最后客户端调用

输出结果

可能看到输出结果的你还是一脸懵逼,到底解释器模式做了些什么?

答:定义了一套简单语法,每个终结符都有一个对应的值存起来了,
然后当你输了一串终结符,最后解释能得出一个正确结果。


本节示例代码

https://github.com/coder-pig/DesignPatternsExample/tree/master/19.Interpreter%20Pattern


上一篇 下一篇

猜你喜欢

热点阅读