解释器模式

https://blog.csdn.net/lovelion/article/details/7713602
概念:这种模式实现了一个表达式接口
该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。
听名字就应该明白这是对某个对象或数据进行做出解释或者结果处理
比如 一个计算器 就可以使用解释器模式
/**

  • @Classname ExplainClass

  • @Description 解释器模式 现在基本上没人自己写了

  • 因为它会引起效率、性能以及维护等问题,一般在大中型的框架型项目能够找到它的身影,如一些数据分析工具、报表设计工具、科学计 算工具等,

  • 若你确实遇到“一种特定类型的问题发生的频率足够高”的情况,准备使用解释器模式时,可以考虑一下

  • Expression4J、MESP(Math Expression String Parser)、Jep等开源的解析工具包

  • @Date 2021/3/21 18:34

  • @Created by 86386
    */
    1.定义一个表达式接口
    public interface Expression {
    public boolean interpret(String context);
    }

    1. 实现表达式接口
      public class TerminalExpression implements Expression {

    private String data;

    public TerminalExpression(String data){
    this.data = data;
    }

    @Override
    public boolean interpret(String context) {
    if(context.contains(data)){
    return true;
    }
    return false;
    }
    }

public class OrExpression implements Expression {

private Expression expr1 = null;
private Expression expr2 = null;

public OrExpression(Expression expr1, Expression expr2) {
this.expr1 = expr1;
this.expr2 = expr2;
}

@Override
public boolean interpret(String context) {
return expr1.interpret(context) || expr2.interpret(context);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值