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

建设银行个人官方网站那些做环保网站的好处

建设银行个人官方网站,那些做环保网站的好处,苏州外贸网站建设公司,网站界面是什么做的Vue3TypeScript实现解释器模式#xff1a;电脑配置价格计算器 解释器模式#xff08;Interpreter Pattern#xff09;听起来是不是有点像“程序员在电脑组装店里搞了个配置价格计算器”#xff1f;它是一种行为型设计模式#xff0c;通过定义语法规则来解析和计算简单的表…Vue3TypeScript实现解释器模式电脑配置价格计算器 解释器模式Interpreter Pattern听起来是不是有点像“程序员在电脑组装店里搞了个配置价格计算器”它是一种行为型设计模式通过定义语法规则来解析和计算简单的表达式比如“CPU价格 内存价格”。今天我们用Vue3和TypeScript结合一个“电脑配置价格计算”的幽默例子带你搞懂解释器模式如何优雅地解析表达式代码简洁又好玩保证通俗易懂笑中带学 一、解释器模式是什么 想象你经营一家电脑组装店客户选了CPU、内存、显卡想算总价。你可以让客户输入一个表达式比如“CPU 内存 显卡”然后系统自动算出价格。解释器模式就像你的“价格计算引擎”把表达式拆成小块数字、运算符按语法规则解析并计算结果灵活又清晰 核心角色 抽象表达式Abstract Expression定义解析接口。终结符表达式Terminal Expression表示原子项如零件价格。非终结符表达式Non-terminal Expression表示组合规则如加法。环境角色Context存储额外信息如零件价格表。 我们用Vue3TypeScript实现一个前端版的“电脑配置价格计算器”让你边算价格边学解释器模式 二、代码实现 1. 抽象表达式接口 // src/interpreters/PriceExpression.ts export interface PriceExpression {interpret(context: PriceContext): number; }幽默讲解PriceExpression是“价格计算器的说明书”规定每个表达式零件或运算必须能算出价格。就像店里贴个牌子“不管啥配置都得给我算出钱来” 2. 终结符表达式 // src/interpreters/ComponentExpression.ts import { PriceExpression } from ./PriceExpression; import { PriceContext } from ./PriceContext;export class ComponentExpression implements PriceExpression {private componentName: string;constructor(componentName: string) {this.componentName componentName;}interpret(context: PriceContext): number {return context.getPrice(this.componentName);} }幽默讲解ComponentExpression是“零件价格标签”表示单个零件比如CPU。它从价格表上下文里查价格简单直接像店员翻账本“CPU多少钱2000” 3. 非终结符表达式 // src/interpreters/AddExpression.ts import { PriceExpression } from ./PriceExpression; import { PriceContext } from ./PriceContext;export class AddExpression implements PriceExpression {private left: PriceExpression;private right: PriceExpression;constructor(left: PriceExpression, right: PriceExpression) {this.left left;this.right right;}interpret(context: PriceContext): number {return this.left.interpret(context) this.right.interpret(context);} }幽默讲解AddExpression是“加法运算符”把两个价格比如CPU和内存加起来。就像店员拿计算器“CPU 2000 内存 800 2800” 复杂表达式靠它组合 4. 环境角色 // src/interpreters/PriceContext.ts export class PriceContext {private priceMap: Mapstring, number;constructor() {this.priceMap new Map([[CPU, 2000],[内存, 800],[显卡, 5000],]);}getPrice(component: string): number {return this.priceMap.get(component) || 0;} }幽默讲解PriceContext是“零件价格账本”存着每种零件的报价。计算器查价格时翻这本账本找不到就当0元省得客户乱填零件名 5. Vue3组件价格计算界面 // src/components/PriceCalculator.vue script setup langts import { ref } from vue; import { PriceContext } from ../interpreters/PriceContext; import { ComponentExpression } from ../interpreters/ComponentExpression; import { AddExpression } from ../interpreters/AddExpression;const context new PriceContext(); const expression ref(CPU 内存 显卡); const result ref();const calculate () {try {// 简单解析表达式仅支持 A B C 格式const parts expression.value.split().map(part part.trim());let expr: PriceExpression new ComponentExpression(parts[0]);for (let i 1; i parts.length; i) {expr new AddExpression(expr, new ComponentExpression(parts[i]));}const total expr.interpret(context);result.value 总价${total}元;} catch (error) {result.value 表达式错误${(error as Error).message};} }; /scripttemplatedivh2电脑配置价格计算器/h2divlabel价格表达式/labelinput v-modelexpression placeholder如CPU 内存 显卡 //divbutton clickcalculate计算价格/buttonp{{ result }}/p/div /template幽默讲解这个Vue组件就像店里的“价格计算台”客户输入表达式“CPU 内存 显卡”点“计算”解释器模式拆解表达式查账本算价格秒出总价客户代码只管写表达式计算器全自动爽到飞 三、应用场景 解释器模式在Vue3开发中就像“灵活的配置价格计算器”适合以下场景 自定义规则解析解析用户定义的简单规则如过滤条件、表单逻辑。动态配置计算根据用户输入的表达式计算结果如价格、积分。小型脚本引擎为前端应用嵌入简单脚本功能如自定义动画序列。数据查询解析简单的查询条件生成对应的过滤逻辑。 幽默例子你的Vue3项目是个电脑组装店用户输入“CPU 内存”解释器模式像个小会计啪啪啪算出总价代码像计算器输入啥都能算 四、适用性 解释器模式适合以下前端场景 简单语言解析需要处理简单的自定义表达式或规则。语法树表示规则可用抽象语法树AST清晰表达。避免硬编码替代复杂条件语句增强灵活性。 注意事项 复杂语言解析性能差适合用词法分析器或编译器工具。表达式过多可能增加维护成本需限制语法复杂度。 五、注意事项 表达式设计 保持语法简单终结符和非终结符职责清晰。提供错误提示处理无效表达式。 TypeScript优势 用接口interface定义表达式行为确保类型安全。利用类型检查防止错误构造表达式。 性能考虑 复杂表达式解析可能耗时优化递归或缓存结果。限制表达式长度避免性能瓶颈。 Vue3生态 参考Vue的模板解析学习表达式处理。结合Vue的组合式API优化表达式的响应式管理。 幽默提示别让解释器模式变成“价格计算器的脑筋急转弯”表达式太复杂把客户算晕Bug用对场景解释器让你的代码像计算器一样精准高效 六、总结 解释器模式就像前端开发中的“配置价格计算器”通过定义语法规则解析简单表达式实现灵活计算。在Vue3TypeScript项目中它适合自定义规则、动态配置或小型脚本引擎。解释器模式让你的代码像智能计算器输入清晰结果秒出优雅又实用
http://www.hkea.cn/news/14429336/

相关文章:

  • wordpress安装怎么填镇江网站关键词优化
  • 兰州网站建设方法北京网络营销技术培训
  • 佛山网站建设定制模板下载网站源码
  • 如何把网站放在主机上计算机的专业有哪些
  • 自用电脑做网站青海网站建设公司电话
  • 网站建设基本概述德州做网站最好的公司有哪些
  • 课程网站开发开题报告wordpress 只显示文字
  • 网站内容该怎么做备案网站 cdn
  • 阿里云wordpress建站微信小程序开发快速入门
  • 专门做简历的网站企业网络推广搜索排名
  • 电脑公司网站系统源码站群系统破解版
  • 佛山网站优化宜昌网站模板
  • 021新手学做网站企业网站建设排名价格
  • 怎么推广自己的网站做网站网页需要什么技术
  • 长春网站建设方案详细wordpress注册直接显示密码错误
  • 中山专业做网站的公司网站 后台 回车不了
  • wordpress网站加壳计算机网络技术就业方向有哪些
  • 建设企业网站的模式中国能源建设集团有限公司董事长
  • ps怎么做网站导航用绿色做图标的网站
  • 菏泽网站开发公司家具网站 模板
  • 专业制作网站多少钱中英版网站系统
  • 百度刷自己网站的关键词太湖手机网站建设
  • 最简单的做网站工具广告制作平台有哪些
  • 新手如何做网站的教程洛阳做网站价格
  • 花生壳可以做网站吗开发大型网站的流程图
  • wampserver做的网站传奇网页游戏赤月
  • 网页网站设计与制作wordpress打分免插件
  • 做网站怎么建立文件夹wordpress桌面宠物
  • 南京网站建设要多少钱wordpress挖
  • 网站建设培训个人4.请简述网站建设流程的过程