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

推动门户网站建设不断优化升级google网站搜索

推动门户网站建设不断优化升级,google网站搜索,网站seo设置是什么意思,长春关键词排名公司类型:行为型模式 实现原理:实现了一个表达式接口,该接口使用标识来解释语言中的句子 作用:给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器来解释。 主要解决:一些重…

类型:行为型模式

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

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

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

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

解决的方法:构建语法树

实现核心:构建环境类,包含解释器之外的一些全局信息,一般是 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://www.yayakq.cn/news/281542/

相关文章:

  • 网站怎样和首页做链接seo专员是指什么意思
  • 大连省建设厅网站wordpress数据 架构
  • 品牌网站建设信息wordpress怎么设置语言
  • 协会网站建设哪里实惠有名的公关公司
  • 信誉好的企业网站建设用asp做的网站打开页面很慢
  • 冠县做网站哪里好小程序注册申请多少钱
  • 学校做网站方案上海好的网站有哪些
  • 鹿泉城乡建设局网站哈尔滨专业网站建设定制
  • 国内永久免费域名申请网站武安城乡建设网站
  • 重庆网站开发公司就业信息网页设计论文
  • 国外做健康的网站网站建设 用ftp上传文件
  • 商务网站建设规划心得wordpress文章关联
  • 宁波网站建设优化排名深圳网站建公司
  • 头像设计易做图网站微信表情包制作网站
  • 济南网站关键词优化公司朝阳住房和城乡建设官方网站
  • 流量网站怎么做企业网站 合同
  • 网站前端和后台wordpress导航菜单小图标
  • 网站建设需要到哪些知识网站服务器安装教程视频
  • 国外域名建站保定企业网站的建设
  • 网站seo找准隐迅推网站导航栏条源码
  • 邢台学校网站建设网站建设原因分析
  • wordpress仿站网wordpress网站代码优化
  • 建设网站虚拟主机在哪买网站开发的软件环境
  • 江苏网站备案暂住证护肤品软文推广
  • 南昌做网站建站的免费工程信息查询
  • 给人做网站赚钱吗一键生成ppt
  • 制作网站的最新软件是什么电商网站开发费用
  • 网站开发新加坡建筑英才网最新招聘
  • 关于机场建设的网站品牌型网站成功案例图片
  • 可以直接观看的网站正能量wordpress改造微博主题