公用技术——设计模式24——行为型模式——解释器模式

解释器模式是将一种语法转换为另外一种语法,并提供相应的转换规则和解释器。

解释器模式涉及到四个角色,假设将语法from--->to

  1. 语法from:初始语法。
  2. 语法to:最终语法。
  3. 语法规则
  4. 解释器或编译器。

解释器模式应该抽象理解,它并不是代表真正的Java类,以下举几个常见的示例。

学生学英语时需要将英语转换为汉语,这个场景下,语法from为英语,语法to为汉语,语法规则为英汉字典,解释器或编译器可以是一款翻译软件,也可以是大脑。

在编程时需要将字符转换为二进制,这个场景下,语法from为字符,语法to为二进制,语法规则为字符集,例如UTF-8,解释器为程序编译器。

在运行Java时需要将Java文件转换为字节码,这个场景下,语法from为Java语法,语法to为字节码语法,语法规则为Oracle官网中制定的规则,具体参考《深入理解JVM虚拟机》中的第六章节类文件结构,解释器为JVM。

  从上述示例中可以看到,这种模式很常见,但是并不适合某个程序员去编写,去制定语法规则,去编写编译器。所以代码,UML图省略。如果自己非要去尝试,我之前也看过某些把数字转换为英文,例如1转换为One,2转换为Two等。我认为写这样的例子没有啥意义。

原文地址:https://www.cnblogs.com/rain144576/p/9940841.html