一、核心思想
是一个特殊的设计模式。它建立一个解释器,对于特定的计算机程序设计语言,用来解释预先定义的文法。
简单的说就是一种简单的语法解释器架构。
包括三个类:
上下文环境类Context:
解释器接口Expression:
解释器具体实现类:
Context类是一个上下文环境类,Plus和Minus分别是用来计算的实现
Codes:
- public interface Expression {
- public int interpret(Context context);
- }
- public class Plus implements Expression {
- @Override
- public int interpret(Context context) {
- return context.getNum1()+context.getNum2();
- }
- }
- public class Minus implements Expression {
- @Override
- public int interpret(Context context) {
- return context.getNum1()-context.getNum2();
- }
- }
- public class Context {
- private int num1;
- private int num2;
- public Context(int num1, int num2) {
- this.num1 = num1;
- this.num2 = num2;
- }
- public int getNum1() {
- return num1;
- }
- public void setNum1(int num1) {
- this.num1 = num1;
- }
- public int getNum2() {
- return num2;
- }
- public void setNum2(int num2) {
- this.num2 = num2;
- }
- }
- public class Test {
- public static void main(String[] args) {
- // 计算9+2-8的值
- int result = new Minus().interpret((new Context(new Plus()
- .interpret(new Context(9, 2)), 8)));
- System.out.println(result);
- }
- }
最后输出正确的结果:3。
二、何时使用
描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中。
适用面比较窄。
三、Java 中的应用
Java正则表达式解析器Pattern
相关推荐
解释器模式(Interpreter) 用意:定义一种语言,定义它的方法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
C#面向对象设计模式 (行为型模式) Interpreter 解释器模式 视频讲座下载
Interpreter解释器模式在C#中的实现
给定一个语言, 定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不... 这是第16节:行为型模式Interpreter解释器模式
Interpreter(解释器)模式.doc
实现了以解释机器人指令为例,实现解释器模式
解释器模式的示例代码和文档,学习解释器模式的参考资料。
解释器模式,它是什么呢? 意思就是,给定一个语言, 定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子,这是最实在的一种说法。 我们还可以理解为它是用于分析一个实体的关键元素,...
php设计模式 Interpreter(解释器模式),需要的朋友可以参考下。
主要介绍了Java设计模式之解释器模式(Interpreter模式)介绍,Interpreter定义:定义语言的文法,并且建立一个解释器来解释该语言中的句子,需要的朋友可以参考下
C#面向对象设计模式纵横谈(16):(行为型模式) Interpreter 解释器模式 (Level 300)
c++设计模式-行为型模式-解释器模式;qt工程;c++简单源码; 解释器(Interpreter)模式的定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释语言中的句子。也就是说,用编译语言的方式...
解释器模式需要解决的问题是,如果一种特定类型的问题发生的频率足够高,那么可能就...解释器模式 (interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
解释器模式 今天和大家分享的模式是解释器模式。 首先介绍一下解释器模式适合解决哪类问题。 其实,解释器模式需要解决的问题是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为...
解释器模式(Interpreter Pattern):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 下面是一个解释器模式的demo: #!/usr/bin/env python # -*- coding:utf-8 -...
C#面向对象设计模式纵横谈(16):(行为型模式) Interpreter 解释器模式
介绍解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的
design pattern 设计模式 创建型设计模式 创建型模式设计到将对象实例化,这类模式都提供了一个...解释器模式 Interpreter 状态模式 State 策略模式 Strategy 责任链模式 Chain of Responsibility 访问者模式 Visitor