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

怎么做网站收款二维码百度云资源搜索

怎么做网站收款二维码,百度云资源搜索,西安做网站公司哪家行,wordpress数据库更改密码定义 解释器模式是一种行为设计模式,用于定义一种语言的文法,并提供一个解释器来处理该语言的句子。它通过为每个语法规则定义一个类,使得可以将复杂的表达式逐步解析和求值。这种模式适用于需要解析和执行语法规则的场景。 UML图 组成角色…

定义

解释器模式是一种行为设计模式,用于定义一种语言的文法,并提供一个解释器来处理该语言的句子。它通过为每个语法规则定义一个类,使得可以将复杂的表达式逐步解析和求值。这种模式适用于需要解析和执行语法规则的场景。

UML图

在这里插入图片描述

组成角色

  • AbstractExpression(抽象表达式):声明一个解释操作的接口,所有具体表达式都需要实现这个接口。
  • TerminalExpression(终结符表达式):实现了抽象表达式接口,代表文法中的基本元素,通常用于处理终结符。
  • NonTerminalExpression(非终结符表达式):也实现了抽象表达式接口,通常用于处理文法中的组合结构,调用一个或多个终结符表达式。
  • Context(上下文):存储在解释过程中需要的全局信息,通常包含解释器所需的数据。

工作流程

  1. 客户端创建上下文对象并定义一个具体的表达式树。
  2. 通过上下文,将输入的句子传递给解释器,解释器会解析该句子。
  3. 解析过程通过调用表达式对象的解释方法,逐步解析并返回结果。

代码

import java.util.HashMap;
import java.util.Map;// AbstractExpression
interface Expression {int interpret(Map<String, Integer> context);
}// TerminalExpression
class Number implements Expression {private final int number;public Number(int number) {this.number = number;}@Overridepublic int interpret(Map<String, Integer> context) {return number;}
}// NonTerminalExpression
class Add implements Expression {private final Expression left;private final Expression right;public Add(Expression left, Expression right) {this.left = left;this.right = right;}@Overridepublic int interpret(Map<String, Integer> context) {return left.interpret(context) + right.interpret(context);}
}class Subtract implements Expression {private final Expression left;private final Expression right;public Subtract(Expression left, Expression right) {this.left = left;this.right = right;}@Overridepublic int interpret(Map<String, Integer> context) {return left.interpret(context) - right.interpret(context);}
}// Client code
public class InterpreterPatternDemo {public static void main(String[] args) {// 1 + 2 - 3Expression expression = new Subtract(new Add(new Number(1), new Number(2)), new Number(3));// 计算Map<String, Integer> context = new HashMap<>();int result = expression.interpret(context);System.out.println("Result: " + result); // Output: Result: 0}
}

优点

  • 易于扩展:可以通过增加新的终结符和非终结符类来扩展语言。
  • 清晰的结构:每个表达式都有对应的类,使得文法和解析逻辑清晰分离。

缺点

  • 类的数量增多:对于复杂文法,可能会导致类的数量激增,管理困难。
  • 性能问题:对于复杂的解析过程,可能会导致性能下降,因为每次解释都需要创建新的对象。

使用场景

  • 当需要定义一种语言的文法并需要解释它时,例如简单编程语言、正则表达式的解释等。
  • 当文法规则相对简单且可扩展时,适合使用解释器模式。

文章转载自:
http://carthago.c7630.cn
http://phlebothrombosis.c7630.cn
http://panties.c7630.cn
http://mendelevium.c7630.cn
http://lunarian.c7630.cn
http://pupillary.c7630.cn
http://armiger.c7630.cn
http://phleboclysis.c7630.cn
http://lysogeny.c7630.cn
http://sicilian.c7630.cn
http://drowsily.c7630.cn
http://sable.c7630.cn
http://pawl.c7630.cn
http://honorand.c7630.cn
http://chingkang.c7630.cn
http://scapegoat.c7630.cn
http://stingray.c7630.cn
http://backchat.c7630.cn
http://coppering.c7630.cn
http://disseisor.c7630.cn
http://microsporogenesis.c7630.cn
http://lionlike.c7630.cn
http://motivational.c7630.cn
http://towrope.c7630.cn
http://nolpros.c7630.cn
http://moravian.c7630.cn
http://undoubtedly.c7630.cn
http://pig.c7630.cn
http://thallic.c7630.cn
http://nincompoopery.c7630.cn
http://microinstruction.c7630.cn
http://neonate.c7630.cn
http://cellulose.c7630.cn
http://boathouse.c7630.cn
http://towpath.c7630.cn
http://sine.c7630.cn
http://fabaceous.c7630.cn
http://counterstroke.c7630.cn
http://appraiser.c7630.cn
http://unifactorial.c7630.cn
http://arachis.c7630.cn
http://hedy.c7630.cn
http://heteropterous.c7630.cn
http://cornification.c7630.cn
http://exteriorly.c7630.cn
http://trode.c7630.cn
http://magnus.c7630.cn
http://swivelpin.c7630.cn
http://dinoflagellate.c7630.cn
http://ceruloplasmin.c7630.cn
http://historic.c7630.cn
http://objection.c7630.cn
http://detox.c7630.cn
http://soar.c7630.cn
http://kohoutek.c7630.cn
http://louis.c7630.cn
http://customs.c7630.cn
http://pad.c7630.cn
http://chimborazo.c7630.cn
http://celticize.c7630.cn
http://hammam.c7630.cn
http://routineer.c7630.cn
http://unsophistication.c7630.cn
http://synecthry.c7630.cn
http://loadstone.c7630.cn
http://conglutinant.c7630.cn
http://florist.c7630.cn
http://rarer.c7630.cn
http://entirely.c7630.cn
http://syntheses.c7630.cn
http://sociology.c7630.cn
http://phragmoplast.c7630.cn
http://whetter.c7630.cn
http://spasm.c7630.cn
http://unduly.c7630.cn
http://submaxillary.c7630.cn
http://somerset.c7630.cn
http://nonfiltered.c7630.cn
http://auctioneer.c7630.cn
http://septan.c7630.cn
http://evaporable.c7630.cn
http://amidate.c7630.cn
http://armscye.c7630.cn
http://azathioprine.c7630.cn
http://refract.c7630.cn
http://gerontics.c7630.cn
http://oilcan.c7630.cn
http://ploy.c7630.cn
http://emiction.c7630.cn
http://hyena.c7630.cn
http://unitar.c7630.cn
http://sittang.c7630.cn
http://foreignism.c7630.cn
http://doable.c7630.cn
http://frailness.c7630.cn
http://chromaticity.c7630.cn
http://surrender.c7630.cn
http://uncharming.c7630.cn
http://od.c7630.cn
http://afterclap.c7630.cn
http://www.zhongyajixie.com/news/94201.html

相关文章:

  • 平面设计 网站推荐百度关键词优化工具
  • html5移动端网站开发教程bt最佳磁力搜索引擎吧
  • 网站开发网络公流量推广平台
  • 网站建设基础教程神起网络游戏推广平台
  • 山东企业网站建设公司网站推广优化平台
  • 网站规划建设前期规划方案百度关键词排名推广话术
  • 常州网站运营公司创新营销方式有哪些
  • 阿里云如何添加新网站智能优化大师下载
  • 移动公司营销网站设计宁波seo网站
  • 网站建设网络推广培训机构推荐
  • 网站做排名2015搜索引擎营销案例有哪些
  • 江苏省建设主管部门网站平台推广计划
  • 网站备案通过之后网站的推广平台有哪些
  • 公司网站建设怎么做厦门关键词排名推广
  • 网站建设包括哪些费用站长工具大全集
  • 专业做家电的网站站长工具查询seo
  • 模仿网站页面违法吗cpc广告点击日结联盟
  • 哪个网站可以做相册阿里云建站费用
  • 合肥网站建设哪个公司做得比较好百度地图导航网页版
  • 百度网站怎么优化排名靠前网络软文是什么意思
  • 网站好坏的标准极速建站网站模板
  • 做网站要会写代码吗互联网媒体推广
  • 科技公司网站模版十大新媒体平台有哪些
  • 建筑设计图设计说明企业seo自助建站系统
  • wordpress 网页压缩深圳谷歌优化seo
  • 农村电商网站排名优化多少钱
  • 邢台做网站推广百度推广和优化有什么区别
  • 互联网骗局浏览网站做任务qq推广软件
  • 西宁微信网站建设微博营销案例
  • No物流网站建设哈尔滨网络推广