解释器模式
来源:互联网 发布:淘宝购买数量增加设置 编辑:程序博客网 时间:2024/06/18 09:46
应用场景:
解释器模式需要解决的是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。
譬如我们使用的正则表达式
/*
* 解释器上下文环境类。用来存储解释器的上下文环境,比如需要解释的文法等
* */
public class Context {
private String in;
private int out;
public Context(String in) {
this.in = in;
}
public int getOut() {
return out;
}
public void setOut(int out) {
this.in = String.valueOf(out);
this.out = out;
}
public String getIn() {
return in;
}
}
----------------------------------------------------------------------------------
/**
* 解释器抽象类。
* @author Administrator
*
*/
public abstract class AbstractExpression {
public abstract void interpret(Context context);
}
----------------------------------------------------------------------------------
/**
* 解释器具体实现类。
*/
public class MinusExpression extends AbstractExpression {
@Override
public void interpret(Context context) {
String in = context.getIn();
int v = Integer.parseInt(in);
context.setOut(--v);
}
}
----------------------------------------------------------------------------------
/*
* 解释器具体实现类。
* */
public class PlusExpression extends AbstractExpression {
@Override
public void interpret(Context context) {
String in = context.getIn() ;
int v = Integer.parseInt( in ) ;
context.setOut( ++v ) ;
}
}
---------------------------------------------------------------------------------
public class Test {
/**
* 测试类
*/
public static void main(String[] args) {
Context context = new Context("10");
new MinusExpression().interpret(context);
new PlusExpression().interpret(context);
new MinusExpression().interpret(context);
System.out.println(context.getOut());
}
}
- 深入浅出解释器模式
- 解释器(Interpreter )模式
- Interpreter解释器模式
- Interperter 解释器模式
- 解释器模式 InterpretePattern
- 解释器模式
- 解释器模式
- 深入浅出解释器模式
- 解释器模式(python)
- 解释器模式
- 解释器模式 详解
- 解释器模式
- Java解释器模式
- 解释器模式
- Interpreter 解释器模式
- java 解释器模式
- 解释器模式
- 解释器模式
- python对象类型
- Maven的依赖范围
- 定制自己的Request
- win7 升级到win10 注意事项
- strchr strstr (判断 子字符(串))
- 解释器模式
- error: mcrypt.h
- 手把手教你个性化EditPlus的PHP自动补全功能
- 完全卸载MySQL的方法
- 开始 学习之路
- AutoLayout baseLine基线对齐
- 国外各厂家Visio素材搜集网站--系统集成必备
- Java程序员应该掌握哪些东西
- lua 三元运算符的使用