一、定义
解释器模式就是给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
二、框架运用
正则表达式、浏览器就是对解释器模式做好的诠释
三、实战
1、实体类
@Data
public class Context {
private String name;
private Integer age;
}
2、解释类
public interface Expression {
void interpret(Context context);
}
public class ExpressionA implements Expression {
@Override
public void interpret(Context context) {
System.out.println("ExpressionA:"+context.getName()+"|"+context.getAge());
}
}
public class ExpressionB implements Expression {
@Override
public void interpret(Context context) {
System.out.println("ExpressionB:"+context.getName()+"|"+context.getAge());
}
}
3、运行和结果
public class Client {
public static void main(String[] args) {
Context context = new Context();
context.setName("大宗师");
context.setAge(100);
List<Expression> list = new ArrayList<>();
list.add(new ExpressionA());
list.add(new ExpressionB());
list.forEach(l->l.interpret(context));
}
}
Connected to the target VM, address: '127.0.0.1:58842', transport: 'socket'
ExpressionA:大宗师|100
ExpressionB:大宗师|100
Disconnected from the target VM, address: '127.0.0.1:58842', transport: 'socket'

本文深入解析解释器模式,通过定义语言文法和解释器,演示如何处理正则表达式及浏览器应用实例。提供了实体类、解释类的具体实现,并展示了运行结果。
&spm=1001.2101.3001.5002&articleId=103752913&d=1&t=3&u=ca339ee915254bc784212b0b270cfe43)
147

被折叠的 条评论
为什么被折叠?



