更新时间:2022-10-05 07:45:33
五个角色:场景(Context)、抽象表达式(Component)、终结符表达式(TerminalExpression)、非终结符表达式(NonterminalExpression)、客户端(Client)
场景(Context):解释器的全局信息
抽象表达式(Component):定义一个接口来解释操作
终结符表达式(TerminalExpression):直接跳过步骤,不用解释语句
非终结符表达式(NonterminalExpression):根据规则实现解释操作
客户端(Client):调用解释器,对语句进行解释。
实现思路:建立语法树,然后用语法将表达式进行解析。
类图:
应用场景:将十六进制值解释为十进制。
分析:如果以0X开头则将十六进制解释为十进制,否则直接输出的就是十进制不需要解释。
下面我们在控制台程序去演示一下如何使用Interpreter Pattern:
一、 场景(Context)
二、抽象表达式(Component)
三、终结符表达式(TerminalExpression)
四、非终结符表达式(NonterminalExpression)
五、客户端(Client)
如需源码请点击 InterpreterPattern.rar 下载
本文转自程兴亮 51CTO博客,原文链接:http://blog.51cto.com/chengxingliang/827101