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

律师做网站推广有用吗建设网站财务分析

律师做网站推广有用吗,建设网站财务分析,做网站su软件,163手机移动网站Linux C 058-设计模式之解释器模式 本节关键字#xff1a;Linux、C、设计模式、解释器模式 相关库函数#xff1a; 概念 解释器模式#xff08;Interpreter Pattern#xff09;提供了评估语言的语法或表达式的方式#xff0c;它属于行为型模式。 解释器模式用于构建一…Linux C 058-设计模式之解释器模式 本节关键字Linux、C、设计模式、解释器模式 相关库函数 概念 解释器模式Interpreter Pattern提供了评估语言的语法或表达式的方式它属于行为型模式。 解释器模式用于构建一个能够解释特定语言或文法的句子的解释器。解释器模式给定一个语言定义它的文法的一种表示并定义一个解释器这个解释器使用该表示来解释语言中的句子。 这种模式被用在 SQL 解析、符号处理引擎等。 优缺点 优点 可扩展性好容易添加新的解释表达式的方式。 灵活性可以根据需要轻松扩展或修改文法。 易于实现简单文法对于简单的语言实现起来相对容易。 缺点 使用场景有限只适用于适合使用解释的简单文法。 维护困难对于复杂的文法维护和扩展变得困难。 类膨胀可能会产生很多类每个文法规则对应一个类。 递归调用解释器模式通常使用递归调用这可能难以理解和跟踪。 使用场景 当某一特定类型的问题频繁出现并且可以通过一种简单的语言来表达这些问题的实例时。 在需要解释执行语言中的句子时考虑使用解释器模式。 确保文法简单以避免系统变得过于复杂。 角色说明 解释器模式包含以下几个主要角色 抽象表达式Abstract Expression定义了解释器的抽象接口声明了解释操作的方法通常是一个抽象类或接口。 终结符表达式Terminal Expression实现了抽象表达式接口的终结符表达式类用于表示语言中的终结符如变量、常量等并实现了对应的解释操作。 非终结符表达式Non-terminal Expression实现了抽象表达式接口的非终结符表达式类用于表示语言中的非终结符如句子、表达式等并实现了对应的解释操作。 上下文Context包含解释器之外的一些全局信息在解释过程中提供给解释器使用通常用于存储变量的值、保存解释器的状态等。 客户端Client创建并配置具体的解释器对象并将需要解释的表达式传递给解释器进行解释。 示例代码 #include iostream #include string using namespace std;class Expression { public:Expression() {}bool interpret(string context); }; class TerminalExpression : public Expression { public:TerminalExpression() {}TerminalExpression(string data) {m_Data data;}bool interpret(string context) {if (context.find(m_Data) ! -1)return true;return false;} private:string m_Data; }; class OrExpression : public Expression { public:OrExpression() {}OrExpression(Expression *expr1, Expression *expr2) {m_Expr1 expr1;m_Expr2 expr2;}bool interpret(string context) {return m_Expr1-interpret(context) || m_Expr2-interpret(context);} private:Expression *m_Expr1;Expression *m_Expr2; }; class AndExpression : public Expression { public:AndExpression() {}AndExpression(Expression *expr1, Expression *expr2) {m_Expr1 expr1;m_Expr2 expr2;}bool interpret(string context) {return m_Expr1-interpret(context) m_Expr2-interpret(context);} private:Expression *m_Expr1;Expression *m_Expr2; }; class InterpreterPatternDemo { public:InterpreterPatternDemo() {}//规则Robert 和 John 是男性static Expression *getMaleExpression() {Expression *rober new TerminalExpression(Robert);Expression *john new TerminalExpression(John);return (Expression *)(new OrExpression(rober, john));}//规则Julie 是一个已婚的女性static Expression *getMarriedWomanExpression() {Expression *julie new TerminalExpression(Julie);Expression *married new TerminalExpression(Married);return (Expression *)(new AndExpression(julie, married));} }; // int main(int argc, char *argv[]) {Expression *isMale InterpreterPatternDemo::getMaleExpression();Expression *isMarriedWoman InterpreterPatternDemo::getMarriedWomanExpression();cout John is male? isMale-interpret(John);cout Julie is a married women? isMarriedWoman-interpret(Married Julie);delete isMale;delete isMarriedWoman;return 0; } /* John is male? true Julie is a married women? true */
http://www.hkea.cn/news/14480076/

相关文章:

  • 我要找人做网站的主页微信app官网下载
  • 利用虚拟主机建设网站的实验报告企业网站html
  • 北京seo公司网站建设网站用户名是什么意思
  • 购物优惠券网站怎么做福建省建设厅考试网站
  • 古楼角网站建设node.js下载wordpress
  • 成都百度网站制作六安住房和城乡建设部网站
  • 怎么样让网站正常解析计算机网站开发背景
  • 企业建站系统下载福建建设监理网站
  • 浙江省建设注册管理中心网站首页wordpress 插件推荐
  • 呼和浩特网站制作公司一级a行做爰片免费网站
  • 西安网站建设外包服务计算机软件开发培训
  • 常州外贸网站建设公司职业技术学院网站建设项目
  • 帮别人做网站开票开什么税目做会员体系的网站
  • vs2017手机网站开发淘宝券商城网站制作
  • 成都网站建设公司有哪几家口碑营销的前提及好处有哪些?
  • 咨询网站公司建设计划书什么招聘网最好找工作
  • 网站建设必须注意的事项百度投票人气排行榜入口
  • 公司网站上线的通知有哪些建设网站公司
  • 有专业做淘宝网站的美工吗wordpress电子邮件要用什么
  • 网站怎么做缓存公司网站怎么做推广
  • 用自家宽带做网站服务器贺州网站建设公司
  • 微信上浏览自己做的网站吗外贸网站源码带支付
  • 网页设计 网站开发 网络安全苏州网站建设培训学校
  • 建设银行招聘官方网站学校网站管理
  • 台州网站平面设计站酷网页设计分析
  • 聊城网站制作工作室济阳县做网站公司
  • 网址导航网站建站网站 权限
  • 网站关键词优化排名推荐网站让图片充满屏幕怎么做
  • 外包优化网站查发分类信息网
  • 九江网站设计广州微网站建设价位