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

网络广告网站呼和浩特网站运营

网络广告网站,呼和浩特网站运营,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://www.yayakq.cn/news/223679/

相关文章:

  • 诏安网站建设下载源码的网站
  • 鞍山公司网站建设有没有做市场评估的网站
  • 网站导航栏效果点石家装全包价格最新
  • 苏州做网站好的公司万和城网站
  • 电商网站建设方案道客巴巴网站的广度
  • 如何在自己网站做直播学生个人网页设计作品代码
  • 高端网站建设 引擎技网络自助商城
  • 绵阳网站建设企业珠海做网站优化
  • 东莞企业自助建站系统门户网站的发展趋势
  • 网站 需求繁体网站模板
  • 做网站 一年需要多少钱电子商务网站建设与维护实验报告
  • 泉州模板网站建站用wordpress搭建完整网站教程视频
  • 网站建设与管理怎么样邯郸做wap网站费用
  • 哪个网站适合 做红本抵押昆明网站开发培训机构
  • 网站建设与管理课后答案篮球网站建设目标
  • 新网站建设风格室内设计和平面设计区别
  • 网站建设公司 销量如何做品牌运营与推广
  • 萍乡网站建设公司做网站发房源综合语录
  • 做游戏的php网站有哪些网站防止机器注册
  • 猎奇网站模板外链网盘网站
  • 济宁网站建设多少钱wordpress 爬虫 视频教程
  • 功能型网站建设时间怎么给网站做关键词排名
  • 个股期权网站开发河南郑州做网站汉狮
  • 永年企业做网站推广云南人
  • 网站建设运营费用包括哪些拍摄企业宣传片哪家好
  • 电子商务网站需要做那些准备工作医疗网站建设比较好的
  • 呼伦贝尔网站设计wordpress连接数据库文件
  • 网站设计模板psd网站模板二次开发
  • idc网站模版网站后台管理系统怎么进
  • 专业网站建设案例移动端是手机端吗