当前位置: 首页 > news >正文

wordpress网站建小程序通辽大柒网站建设有限公司

wordpress网站建小程序,通辽大柒网站建设有限公司,论坛发帖,河北seo优化_网络建设营销_网站推广服务 - 河北邢台seo相关文章#xff1a;技术成神之路#xff1a;二十三种设计模式(导航页) 介绍 解释器模式#xff08;Interpreter Pattern#xff09;是一种行为设计模式#xff0c;用于定义一种语言的文法表示#xff0c;并提供一个解释器来处理这种文法。它用于处理具有特定语法或表达… 相关文章技术成神之路二十三种设计模式(导航页) 介绍 解释器模式Interpreter Pattern是一种行为设计模式用于定义一种语言的文法表示并提供一个解释器来处理这种文法。它用于处理具有特定语法或表达式的场景。 1. 定义 解释器模式定义了一种语言的文法表示并定义一个解释器用来解释语言中的句子。 2. 主要作用 提供一种方式来评估语言的文法或表达式解释器模式允许系统解析和执行由文法定义的语言。简化对复杂表达式的处理通过将复杂的表达式分解为简单的表达式可以降低处理的复杂性。易于扩展新的语法可以通过添加新的终结符或非终结符类轻松扩展。 3. 解决的问题 处理和解析特定语言或表达式的需求。提供一种清晰的方式来定义文法及其解释。使得对文法和表达式的扩展变得简单明了。 4. 模式原理 包含角色 抽象表达式Expression 一个接口或抽象类定义了解释方法interpret()。所有具体表达式都要实现这个接口。终结符表达式TerminalExpression 具体的表达式类代表语法中的终结符。在解释器中这些类通常与输入的基本元素对应如某个具体的字符或词汇。非终结符表达式NonterminalExpression 这也是一个具体的表达式类用于解释由多个表达式组成的复杂表达式。它通常用于构造更复杂的语法结构并实现解释方法。上下文Context 上下文对象用于存储解释器的状态信息包括输入字符串和其他相关数据。它在解析过程中提供必要的上下文信息给各个表达式。 UML类图 示例代码 // 抽象表达式 interface Expression {int interpret(); }// 终结符表达式数字 class Number implements Expression {private int number;public Number(int number) {this.number number;}Overridepublic int interpret() {return number;} }// 非终结符表达式加法 class Add implements Expression {private Expression leftExpression;private Expression rightExpression;public Add(Expression left, Expression right) {this.leftExpression left;this.rightExpression right;}Overridepublic int interpret() {return leftExpression.interpret() rightExpression.interpret();} }// 非终结符表达式减法 class Subtract implements Expression {private Expression leftExpression;private Expression rightExpression;public Subtract(Expression left, Expression right) {this.leftExpression left;this.rightExpression right;}Overridepublic int interpret() {return leftExpression.interpret() - rightExpression.interpret();} }调用 public class InterpreterDemo {public static void main(String[] args) {// 表达式3 5Expression three new Number(3);Expression five new Number(5);Expression add new Add(three, five);System.out.println(Result: add.interpret()); // 输出: Result: 8// 表达式10 - 2Expression ten new Number(10);Expression two new Number(2);Expression subtract new Subtract(ten, two);System.out.println(Result: subtract.interpret()); // 输出: Result: 8} }emm…这个模式才是冷门中的冷门由于只能在特定领域使用让我们动手写的情况很少一般只是在源码中会见到下面就举几个源码中的例子吧加深下印象 1. Java 正则表达式 正则大家都用过吧可以把一些特定的字符 通过正则转化为我们预期的效果在正则表达式中 Pattern类负责解析正则表达式的语法而Matcher类则用于执行该模式的匹配。 2. Android 自定义 View 的属性解析 自定义视图会解析 XML 中定义的属性,在自定义视图的构造函数中通过AttributeSet来解析XML中定义的属性类似于解释器的功能。 3. DSL (领域特定语言) 解析 DSL 正如其名在特定领域下的语言这个语言可以由你自己定制常见的在Kotlin中 有很多语法糖 都运用了DSL在一些指定场景下很实用在Android开发中Gradle构建脚本使用一种基于Groovy的DSL来定义构建配置Gradle解析器使用了解释器模式。 这个模式不要求一定要掌握但要见到认识给面试官能吹nb就行了。 5. 优缺点 优点 易于改变和扩展文法。容易实现简单的语言解释器。 缺点 对复杂的文法不太适用类数目会增加。解释器模式会引起性能问题。 6. 应用场景 解析特定的语言或格式例如数学表达式、SQL查询、正则表达式。定义简单的文法规则并提供语法分析功能。在领域特定语言DSL中提供一种简单的语法解析方式。 7. 总结 解释器模式适用于简单的语法解析和解释场景但不适合复杂的语法结构。它通过类和对象的组合灵活定义和扩展语法结构。 至此23种设计模式告一段落
http://www.hkea.cn/news/14501241/

相关文章:

  • 网站建设销售技巧平台设计思路怎么写
  • 如室室内设计网站官网淘客推广平台
  • 怀仁有做网站的公司吗品牌建设专项规划
  • 公司网站建设费计入哪个科目软件开发模型定义
  • 负责公司网站的更新和维护网站建设中端口号的作用是什么意思
  • 做网站被骗五千多网站建设与维护的实训总结
  • 建设刷会员网站福田官网
  • 免费网站排名优化软件网站移动排名
  • 网站风格定位怎么写百度推广登录平台网址
  • 网站数据抓取怎么做怎样申请建网站
  • 青岛建设教育网站wordpress 备案 域名
  • 做a的网站有哪些成都网站建设推来客熊掌号
  • 网站设计公司山东烟台在线生成短链接
  • 泉州做网站seo徐州做公司网站多少钱
  • 广州天河区网站设计公司网站网址怎么做二维码
  • 冬季什么行业做网站比较多wordpress输入密码可见内容插件
  • 网站建设佰金手指科杰十三上海有哪些大公司
  • 网站模板用什么做如何申请小程序账号
  • 网页设计与网站开发第三版课后答案怎么做网站的二维码
  • 专业长春网站建设网已经建网站做外贸
  • 企业建设网站的步骤是什么意思dedecms做电影网站
  • 宁波网站建设服务数字化管理咨询
  • 单位网站建设费算无形资产吗国家重点学科建设网站
  • 网站建设客户沟通山东省住房和城乡建设厅网站注册中心
  • 新站seo外包老婆的视频在线观看1
  • 网站框架是怎么做的中铁三局最新消息
  • 用vs做html网站安徽免费网站制作
  • php做网站不兼容ie8重庆市建设工程信息网打不开是怎么回事
  • png图片可以做网站图标吗网站怎样制作吸引人
  • 医院网站建设计划做网站难