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

领硕网站seo优化云南网站优化哪家好

领硕网站seo优化,云南网站优化哪家好,phpmysql旅游网站开发,家电网站建设方案“领域规则”模式 在特定领域中#xff0c;某些变化虽然频繁#xff0c;但可以抽象为某种规则。这时候#xff0c;结合特定领域#xff0c;将稳日抽象为语法规则#xff0c;从而给出在该领域下的一般性解决方案。 典型模式#xff1a;Interpreter 动机(Motivation) 在…“领域规则”模式 在特定领域中某些变化虽然频繁但可以抽象为某种规则。这时候结合特定领域将稳日抽象为语法规则从而给出在该领域下的一般性解决方案。 典型模式Interpreter 动机(Motivation) 在软件构建过程中如果某一特定领域的问题比较复杂类似的结构不断重复出现如果使用普通的编程方式实现将面临非常频繁的变化。 在这种情况下将特定领域的问题表达为某种语法规则下的句子然后构建一个解释器来解释这样的句子从而达到解决问题的目的。 模式定义 给定一个语言定义它的文法的一种表示并定义一种解释器这个解释器使用该表示来解释语言中的句子。 示例: #include iostream #include map #include stackusing namespace std;class Expression { public:virtual int interpreter(mapchar, int var) 0;virtual ~Expression() {} };//变量表达式 class VarExpression : public Expression {char key; public:VarExpression(const char key) {this-key key;}int interpreter(mapchar, int var) {return var[key];} };//符号表达式 class SymbolExpression : public Expression {//运算符左右两个参数 protected:Expression* left;Expression* right;public:SymbolExpression(Expression* left, Expression* right) {this-left left;this-right right;} };//加法运行 class AddExpression : public SymbolExpression { public:AddExpression(Expression* left, Expression* right): SymbolExpression(left, right){}int interpreter(mapchar, int var) {return left-interpreter(var) right-interpreter(var);} };//减法运行 class SubExpression : public SymbolExpression { public:SubExpression(Expression* left, Expression* right): SymbolExpression(left, right){}int interpreter(mapchar, int var) {return left-interpreter(var)- right-interpreter(var);} };Expression* analyse(string expStr) {stackExpression* expStack;Expression* left;Expression* right;for (int i 0; i expStr.size(); i){switch (expStr[i]){case ://加法运算left expStack.top();right new VarExpression(expStr[i]);expStack.push(new AddExpression(left, right));break;case -://减法运算left expStack.top();right new VarExpression(expStr[i]);expStack.push(new SubExpression(left, right));break;default:expStack.push(new VarExpression(expStr[i]));break;}}return expStack.top(); }void release(Expression* expression) {// 释放表达式树的节点内存 }int main() {string expStr ab-cd;mapchar, int var;var.insert(make_pair(a, 5));var.insert(make_pair(b, 2));var.insert(make_pair(c, 1));var.insert(make_pair(d, 6));Expression* expression analyse(expStr);int result expression-interpreter(var);cout result endl;release(expression);return 0; } 要点总结 Interpreter模式的应用场合式Interpreter模式的应用中的难点只有满足“业务规则频繁变化且类似的结构不断重复出现并且容易抽象为语法规则的问题”才适合使用Interpreter模式。 使用Interpreter模式来表达文法规则从而可以使用面向对象技巧来方便地“扩展”文法。 Interpreter模式比较适合简单的文法表示对于复杂的文法表示Interperter模式会产生比较大的类层次结构需要求助于语法分析生成器这样的标准工具。
http://www.pierceye.com/news/670736/

相关文章:

  • 优秀甜品网站最有前景的十大行业
  • 手册设计南宁seo网站排名优化公司
  • 国外做科普视频的网站郑州做营销型网站的公司
  • 雄安网站设计制作即时灵感网站
  • 自己怎么优化网站排名wordpress 自动超链接
  • 建设工程安全监督备案网站wordpress最简易主题
  • 集客营销软件官方网站如何开发微信微网站
  • 青岛谁优化网站做的好微营销工具
  • 怎么才能建立一个网站卖东西php做网站用html做吗
  • 西安公司网站设计费用免费外国网站浏览器
  • 如何加快网站打开速度浦东新区建设机械网站
  • 求网站制作焦作网站建设的公司
  • 用python做网站不常见久久建筑网外墙岩棉保温板施工工艺
  • 做刷票的网站广告牌的样式大全
  • 手机登录网站怎么建设网站风格和功能设计方案
  • 网站报价天津网站在哪里建设
  • 湖北专业网站建设维修电话福清网站商城建设
  • 网站建设模块怎么使用线上注册公司流程和费用
  • 营销型网站设计内容wordpress加速优化插件
  • 设计坞网站官方下载4399网页游戏入口
  • 太原百度网站建设如何联系网站管理员
  • 海东高端网站建设公司视频网站 费用
  • 可以帮别人备案网站吗手机建网站公司
  • 四川建设厅网上查询网站信用网站系统建设方案
  • 克隆网站后台做系统用哪个网站好
  • html5 手机网站页面实例wordpress 路由404
  • 百度地图嵌入公司网站wordpress如何去掉分类里面的大字
  • 山东住房与城乡建设网站够完美网站建设
  • 班级网站建设首页报告如何查询一个网站是否备案
  • 艺术设计类网站石家庄公司的网站设计