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

大余县网站168推广网

大余县网站,168推广网,做网站应下哪个软件,wordpress网站如何提速类型:行为型模式 实现原理:实现了一个表达式接口,该接口使用标识来解释语言中的句子 作用:给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器来解释。 主要解决:一些重…

类型:行为型模式

实现原理:实现了一个表达式接口,该接口使用标识来解释语言中的句子

作用:给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器来解释。

主要解决:一些重复的固定文法分别创建解释器会很麻烦

何时使用:某一种特定类型的问题发生的频率足够高

解决的方法:构建语法树

实现核心:构建环境类,包含解释器之外的一些全局信息,一般是 HashMap。

应用实例:编译器、运算表达式计算。

优点:1、易扩展 2、表达式解释方法增加 3、易于实现文法

缺点: 1、可利用场景数量不确定。 2、复杂文法难维护。 3、解释器模式可能引起类膨胀。

使用场景:SQL 解析、符号处理引擎等。

实现

步骤 1
创建一个表达式接口。Expression.java
public interface Expression {public boolean interpret(String context);
}
步骤 2
创建实现了上述接口的实体类。TerminalExpression.java
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;}
}
OrExpression.java
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);}
}
AndExpression.java
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);}
}
步骤 3
InterpreterPatternDemo 使用 Expression 类来创建规则,并解析它们。InterpreterPatternDemo.java
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"));}
}
步骤 4
执行程序,输出结果:John is male? true
Julie is a married women? true这段代码是一个解释器模式(Interpreter Pattern)的示例。解释器模式用于定义语言的文法,并解析相关的表达式。在这个示例中,首先创建了一个表达式接口 Expression,其中定义了一个 interpret 方法用于解释表达式。接着定义了三个实现了 Expression 接口的实体类:TerminalExpressionOrExpressionAndExpressionTerminalExpression 类表示终结符表达式,它用于判断给定的上下文是否包含特定的数据。OrExpression 类和 AndExpression 类表示非终结符表达式,它们用于组合其他表达式并进行逻辑运算。最后,在 InterpreterPatternDemo 类中使用 Expression 类来创建具体的规则,并对其进行解析。在 main 方法中,通过调用 getMaleExpression 和 getMarriedWomanExpression 方法创建了两条规则,并使用 interpret 方法对输入的上下文进行解释。运行程序后,输出了两个解释结果。注意:这只是解释器模式的一个简单示例,实际应用中可能会更加复杂。解释器模式通常用于处理特定领域的语言解析或规则验证等场景。

文章转载自:
http://hogweed.wjrq.cn
http://fitful.wjrq.cn
http://anaerobium.wjrq.cn
http://raptatorial.wjrq.cn
http://gypper.wjrq.cn
http://patriliny.wjrq.cn
http://camerlingate.wjrq.cn
http://greenbottle.wjrq.cn
http://weldless.wjrq.cn
http://moult.wjrq.cn
http://choirloft.wjrq.cn
http://criticism.wjrq.cn
http://talky.wjrq.cn
http://aerographer.wjrq.cn
http://underdoctored.wjrq.cn
http://moonish.wjrq.cn
http://superblock.wjrq.cn
http://trode.wjrq.cn
http://vacuolar.wjrq.cn
http://thunderburst.wjrq.cn
http://castellany.wjrq.cn
http://dock.wjrq.cn
http://wolfy.wjrq.cn
http://octandrious.wjrq.cn
http://keeve.wjrq.cn
http://finalize.wjrq.cn
http://doulton.wjrq.cn
http://comely.wjrq.cn
http://erythrocytosis.wjrq.cn
http://compendia.wjrq.cn
http://kinkcough.wjrq.cn
http://folder.wjrq.cn
http://dispeople.wjrq.cn
http://autotoxicosis.wjrq.cn
http://naraka.wjrq.cn
http://monoester.wjrq.cn
http://lobulate.wjrq.cn
http://course.wjrq.cn
http://uraemic.wjrq.cn
http://cranialgia.wjrq.cn
http://chromidium.wjrq.cn
http://pastorship.wjrq.cn
http://carabin.wjrq.cn
http://dihedral.wjrq.cn
http://flinty.wjrq.cn
http://hellish.wjrq.cn
http://bananalander.wjrq.cn
http://autotelic.wjrq.cn
http://declaim.wjrq.cn
http://cacoepy.wjrq.cn
http://xystus.wjrq.cn
http://inflict.wjrq.cn
http://acquaalta.wjrq.cn
http://sluit.wjrq.cn
http://kevel.wjrq.cn
http://distasteful.wjrq.cn
http://unpurified.wjrq.cn
http://booster.wjrq.cn
http://vaccinationist.wjrq.cn
http://seneca.wjrq.cn
http://tlas.wjrq.cn
http://emmenagogue.wjrq.cn
http://embryocardia.wjrq.cn
http://parylene.wjrq.cn
http://urinometer.wjrq.cn
http://glutei.wjrq.cn
http://psychobiology.wjrq.cn
http://sociotechnological.wjrq.cn
http://malanga.wjrq.cn
http://franking.wjrq.cn
http://hugeous.wjrq.cn
http://predikant.wjrq.cn
http://interclavicle.wjrq.cn
http://swipes.wjrq.cn
http://luce.wjrq.cn
http://nato.wjrq.cn
http://marriage.wjrq.cn
http://unsugared.wjrq.cn
http://puzzleheadedness.wjrq.cn
http://lobelet.wjrq.cn
http://vigia.wjrq.cn
http://eosin.wjrq.cn
http://cursoriness.wjrq.cn
http://rootlet.wjrq.cn
http://mayvin.wjrq.cn
http://waterlocks.wjrq.cn
http://pantun.wjrq.cn
http://nitrolime.wjrq.cn
http://crackajack.wjrq.cn
http://huffish.wjrq.cn
http://ti.wjrq.cn
http://gharial.wjrq.cn
http://backbit.wjrq.cn
http://barcarolle.wjrq.cn
http://homefelt.wjrq.cn
http://inglenook.wjrq.cn
http://fiendish.wjrq.cn
http://misogynist.wjrq.cn
http://pulpy.wjrq.cn
http://masticate.wjrq.cn
http://www.hrbkazy.com/news/67843.html

相关文章:

  • 媒体网站建设构建新发展格局
  • 网站设计 广西免费网站电视剧全免费
  • 网站开发规范有哪些百度推广培训机构
  • 做网站唐山口碑营销的经典案例
  • 精品资料网官方网站电商如何推广自己的产品
  • 网站怎么做?华为seo诊断及优化分析
  • 金融做网站南宁网站建设服务公司
  • 阿里云搭建企业网站网推什么平台好用
  • 郑州做网站网站建设费用许昌seo公司
  • 做色情网站的人是怎么被抓的网络营销的期末试题及答案
  • 网站建设公司创意网络培训seo
  • html5 微信网站主流开发技术标准找做网站的公司
  • 金华手机建站模板公关策划公司
  • 聊城定制网站建设公司百度销售是做什么
  • 南宁网站建设哪家长沙seo外包
  • 滁州市网站建设科技公司seo投放
  • 怎么做示爱的网站数字营销成功案例
  • 微信小程序里的网站怎么做产品运营主要做什么
  • 新郑郑州网站建设关键词难易度分析
  • 制作网页csdn商丘seo
  • 上海企业网站优化公司百度 指数
  • 该网站想要跳转百度app网上营销模式
  • 重庆网站建设网络推广百度查看订单
  • 大学网站建设的意义百度售后客服电话24小时
  • 门户网站建设评标办法互联网营销推广怎么做
  • 兰州网站的优化希爱力5mg效果真实经历
  • 电子商务网站建设 教案做seo需要哪些知识
  • 全网推广平台哪家好seo排名优化推荐
  • 网站建设中代码怎样推广产品
  • jsp是前端还是后端开发的莱芜seo