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

网站微信分享怎么做网站快速收录软件

网站微信分享怎么做,网站快速收录软件,婚纱摄影网站源码,怎么创建企业网站解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 【俺有一个《泡MM真经》&#x…

解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。
【俺有一个《泡MM真经》,上面有各种泡MM的攻略,比如说去吃西餐的步骤、去看电影的方法等等,跟MM约会时,只要做一个Interpreter,照着上面的脚本执行就可以了。
解释器模式:给定一个语言后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。解释器模式将描述怎样在有了一个简单的文法后,使用模式设计解释这些语句。
在解释器模式里面提到的语言是指任何解释器对象能够解释的任何组合。在解释器模式中需要定义一个代表文法的命令类的等级结构,也就是一系列的组合规则。每一个命令对象都有一个解释方法,代表对命令对象的解释。命令对象的等级结构中的对象的任何排列组合都是一个语言。】
意图:给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。
主要解决:对于一些固定文法构建一个解释句子的解释器。
何时使用:如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。
如何解决:构建语法树,定义终结符与非终结符。
关键代码:构建环境类,包含解释器之外的一些全局信息,一般是HashMap。
(1)优点:
1、可扩展性比较好,灵活。
2、增加了新的解释表达式的方式。
3、易于实现简单文法。
(2)缺点:
1、可利用场景比较少。
2、对于复杂的文法比较难维护。
3、解释器模式会引起类膨胀。
4、解释器模式采用递归调用方法。
(3)使用场景:
1、可以将一个需要解释执行的语言中的句子表示为一个抽象语法树。
2、一些重复出现的问题可以用一种简单的语言来进行表达。
3、一个简单语法需要解释的场景。
(4)注意事项:
可利用场景比较少,JAVA 中如果碰到可以用 expression4J 代替。
(5)应用实例:
编译器、运算表达式计算。
代码


```java
public interface Expression {public boolean interpret(String context);
}public class TerminalExpression implements Expression {private String data;public TerminalExpression(String data){this.data = data;}@Overridepublic boolean interpret(String context) {if(context.contains(data)){return true;}return false;}
}public class OrExpression implements Expression {private Expression expr1 = null;private Expression expr2 = null;public OrExpression(Expression expr1, Expression expr2) {this.expr1 = expr1;this.expr2 = expr2;}@Overridepublic boolean interpret(String context) {return expr1.interpret(context) || expr2.interpret(context);}
}public class AndExpression implements Expression {private Expression expr1 = null;private Expression expr2 = null;public AndExpression(Expression expr1, Expression expr2) {this.expr1 = expr1;this.expr2 = expr2;}@Overridepublic boolean interpret(String context) {return expr1.interpret(context) && expr2.interpret(context);}
}public class InterpreterPatternDemo {//规则:Robert 和 John 是男性public static Expression getMaleExpression(){Expression robert = new TerminalExpression("Robert");Expression john = new TerminalExpression("John");return new OrExpression(robert, john);}//规则:Julie 是一个已婚的女性public static Expression getMarriedWomanExpression(){Expression julie = new TerminalExpression("Julie");Expression married = new TerminalExpression("Married");return new AndExpression(julie, married);}public static void main(String[] args) {Expression isMale = getMaleExpression();Expression isMarriedWoman = getMarriedWomanExpression();System.out.println("John is male? " + isMale.interpret("John"));System.out.println("Julie is a married women? "+ isMarriedWoman.interpret("Married Julie"));}
}

http://www.tj-hxxt.cn/news/94646.html

相关文章:

  • 免费做ppt网站网店运营推广登录入口
  • 有网打不开网页咋回事整站优化和关键词优化的区别
  • 网站做支付需要准备什么东西吗自动外链工具
  • 微信如何做收费视频网站跨界营销案例
  • 交流做病理切片的网站推广普通话宣传周
  • 最近一周的新闻大事10条西安抖音seo
  • 兰州企业网站怎么建立一个属于自己的网站
  • 洛阳网站建设设计公司在线客服系统
  • 做淘客网站的公司企业如何进行搜索引擎优化
  • 中国建筑工程总公司招聘班级优化大师官方免费下载
  • 政府 网站建设站长工具的使用seo综合查询运营
  • 网站首页模板代码深圳网络营销全网推广
  • 手机可以搭建网站么关键词整站优化
  • 云南网站建设首选公司网站收录情况查询
  • wordpress 4.5 安装seo网站外链平台
  • 有创意的设计公司名称怎么制作seo搜索优化
  • 免费自助建站工具关键词首页优化
  • 适合中考做的微机题网站肇庆seo按天计费
  • 河源市seo点击排名软件价格seo是做什么工作内容
  • 360建站abc湖人今日排名最新
  • 响应式网站素材新媒体运营是做什么
  • 网站制作方案书b站推广网站入口mmm
  • asp做旅游网站毕业论文怀化网络推广
  • 驻马店网站建设windows10优化软件
  • 电商网站建设行情软文推广平台有哪些
  • asp网站制作教程网上电商怎么做
  • cetos做网站营销网站系统
  • 专业性网站做线上运营百分百营销软件
  • 国家建设部网站注册工程师人员查询指数基金是什么意思
  • 商用网站开发计划书站长工具域名解析