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等。我认为写这样的例子没有啥意义。

  • 相关阅读:
    Win7。56个进程让我头疼
    bzoj2843极地旅行社
    bzoj2751[HAOI2012]容易题(easy)
    bzoj3442学习小组
    bzoj4423[AMPPZ2013]Bytehattan
    bzoj4591[Shoi2015]超能粒子炮·改
    bzoj2299[HAOI2011]向量
    bzoj3223Tyvj 1729 文艺平衡树
    bzoj2563阿狸和桃子的游戏
    bzoj3673可持久化并查集 by zky&&bzoj3674可持久化并查集加强版
  • 原文地址:https://www.cnblogs.com/rain144576/p/9940841.html
Copyright © 2011-2022 走看看