栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

设计模式之----解释器设计模式JAVA版

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

设计模式之----解释器设计模式JAVA版

解释器设计模式

解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。

解释器模式需要解决的是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决问题。

就像是,我们常常会在字符串中搜索匹配的字符或判断一个字符串是否满足我们的需求(规定的格式)的时候,一般都会使用正则表达式来实现。

而匹配字符串的需求在软件的很多地方都会用上,并且行为都很类似,一般的做法都是针对特定的需求写特定的方法。如判断邮箱、电话号码的格式等等。所以与其为每一个特定需求都写一个特定方法,不如使用一种通用的搜索算法来解释执行一个正则表达式,该正则表达式定义了待匹配的字符串集合。

而所谓的解释器模式,正则表达式就是它的一种应用,解释器为正则表达式定义了一个文法,如何表示一个特定的正则表达式,以及如何解释这个正则表达式。

解释器模式的注意事项和细节
  1. 当有一个语言需要解释执行,可将该语言中的句子表示为一个抽象语法树,就可以考虑使用解释器模式,让程序具有良好的扩展性
  2. 应用场景:编译器、运算表达式计算、正则表达式、机器人等
  3. 使用解释器可能带来的问题:解释器模式会引起类膨胀、解释器模式采用递归调用方法,将会导致调试非常复 杂、效率可能降低
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/673163.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号