zoukankan      html  css  js  c++  java
  • 公用技术——设计模式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等。我认为写这样的例子没有啥意义。

  • 相关阅读:
    【转】mapgis的一些实用方法和处理技巧
    mac osx 升级到10.10 软件无法打开的问题
    Oracle临时表
    增加表空间大小的三种办法
    哪些情况会记录Oracle Alert日志
    每日PDCA实践
    graphite积累(二)
    Graphite在centeros 6下安装
    linux screen命令
    linux环境中执行Mysql脚本
  • 原文地址:https://www.cnblogs.com/rain144576/p/9940841.html
Copyright © 2011-2022 走看看