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

江阴网站设计国际军事最新头条新闻

江阴网站设计,国际军事最新头条新闻,iis怎么使用来建设一个网站,卤菜店加盟18.解释器模式 解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。 解释器模式在我们开发过程中并不常用,是个比较小…

18.解释器模式
解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。

解释器模式在我们开发过程中并不常用,是个比较小众的设计模式。这种模式通常被用在 SQL 解析、符号处理引擎等。

什么是符号处理引擎呢?举几个例子,

强大而又令人望而却步的正则表达式,相信大多数程序猿都接触过吧,[0-9a-zA-Z]+这样一串符号就能够匹配一个由数字和大小写字母组成的字符串。类似的还有XML文件的解析、SQL语句的解析等等。
假设你做了一个机器人,可以通过指令告诉它如何执行动作,比如向前走10个单位是forward 10,向左转是turn left,当你输入begin forward 10 turn left forward 5 end 组成的命令给它的终端,它就能明白命令的意思(向前走10个单位然后左转走5个单位)并执行。
在举个简单点的例子,正则表达式,我们通常用的计算器是一步一步来的,比如2+3-4/2=当输入+、-``/和=的时候都会立即响应。但是还有种计算器,可以在输入整个公式后,一并进行计算,这种计算器可以直接输入2+3-4/2然后回车后直接给出整个式子的结果,这种计算器就是“解释型”计算器。

UML用例图:
在这里插入图片描述

一、先声明一个解释型接口

public interface Expression {double interpret();
}

二、终结符表达式

@NoArgsConstructor
@AllArgsConstructor
@Data
public class Num implements Expression {private double number;@Overridepublic double interpret() {return number;}
}

三、非终结符表达式(分别对应加减乘除)

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Add implements Expression {private Expression left,right;@Overridepublic double interpret() {return left.interpret()+right.interpret();}
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Sub implements Expression {private Expression left,right;@Overridepublic double interpret() {return left.interpret()-right.interpret();}
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Mul implements Expression {private Expression left,right;@Overridepublic double interpret() {return left.interpret()*right.interpret();}
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Div implements Expression {private Expression left,right;@Overridepublic double interpret() {return left.interpret()/right.interpret();}
}

四、测试类

public class InterpretTest {public static void main(String[] args) {Expression a = new Num(2),b=new Num(3),c=new Num(4),d=new Num(2);Expression result = new Sub(new Add(a,b),new Div(c,d));System.out.println(result.interpret());}
}
http://www.hkea.cn/news/933669/

相关文章:

  • 淘宝 客要推广网站怎么做全媒体广告代理
  • 那个b2b网站可以做外贸武汉全网推广
  • 深圳css3网站开发多少钱如何策划一个营销方案
  • 织梦统计网站访问量代码网络营销公司如何建立
  • 外贸营销型网站建设今日最新重大新闻
  • 个性化定制网站长春网络推广优化
  • 合肥庐阳区疫情最新消息seo优化首页
  • h5网站制作接单最新中高风险地区名单
  • 北京市住房城乡建设委网站公司怎么在网上推广
  • 网站建设首页怎样插入视频百度指数在线查询小程序
  • 青州网站制作哪家好aso优化哪家好
  • wordpress做网站优点郑州网站seo优化
  • 宝安做棋牌网站建设找哪家公司好湖南长沙疫情最新消息
  • 四川专业网站建设中国十大企业培训机构排名
  • 怎么切页面做网站灰色词首页排名接单
  • 网站右侧浮动广告代码百度推广代理公司广州
  • 固原建站公司旺道seo推广系统怎么收费
  • 适合做外链的网站海外广告联盟平台推广
  • 建筑模板规格型号郑州厉害的seo顾问
  • ppt做书模板下载网站有哪些内容国际婚恋网站排名
  • 上海网站建设内容更新网络营销策划目的
  • 重庆市建设信息网站关键词查询网
  • 做哪种网站流量大怎么打广告宣传自己的产品
  • 免费表白网站制作seo网络优化推广
  • 网站建设中可能升级中国科技新闻网
  • 网站制作内容文案网站如何快速被百度收录
  • 淘宝淘宝网页版登录入口免费seo公司
  • 竹溪县县建设局网站短视频营销
  • 好的网站有哪些搜索引擎seo是什么意思
  • 做音乐网站赚钱吗做小程序的公司