范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

设计模式之解释器模式

  #头条创作挑战赛#
  今天说一个很少使用的设计模式--解释器模式。给定一个语言,定义它的文法表示,定义一个解释器,用解释器来解释句子中的含义。比如表达式中使用到的与或非。下面用程序展示这个模式是如何实现语义解释的。
  第一,先看看各个类之间的关系图
  第二,定义一个解释器接口Expression,三个实现类AndExpression,OrExpression,TerminalExpressionpublic interface Expression {     public boolean interpret(String context); }/**  * 与表达式  */ 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;     }        //实现与表达式的功能     @Override     public boolean interpret(String context) {              return expr1.interpret(context) && expr2.interpret(context);     }  }/**  * 或表达式  */ 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;     }        /**      * 实现或表达式的功能      */     @Override     public boolean interpret(String context) {              return expr1.interpret(context) || expr2.interpret(context);     }  }/**  * 终端表达式  */ public class TerminalExpression implements Expression {         private String data;        public TerminalExpression(String data){        this.data = data;      }        /**      * 终端表达式功能是接收参数,判定参数中是否包含特定字符      */     @Override     public boolean interpret(String context) {        if(context.contains(data)){           return true;        }        return false;     }  }
  第三,写一个测试程序InterpreterPatternDemopublic 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"));     }  }
  测试结果
  这个模式优点:扩展性好,实现简单文法解释。缺点:使用的场景不多,采用了递归调用方法,实现复杂文法难维护。
  好了,今天就到这里了,适合才是最好的,基础永不过时。
  欢迎大家在评论区留言讨论,让更多的人看到你的观点。如果喜欢文章的话,请点赞关注转发分享出去!

枸杞配养生,解不了熬夜的伤枸杞配养生,也解不了熬夜的伤。熬最深的夜,喝最辣的酒,抽一根接一根的烟。再年轻的资本,也满足不了人心的欲。说着梦想成真,长命百岁,无欲无求。做的却是好吃懒做,娱乐随心,欲求不止。现29岁辞职,3个月30个国家一次婚礼不过瘾,100次怎么样?欢迎转发到朋友圈钱钟书先生在围城中有这样一段话旅行最检验得出一个人的品行。旅行时最劳顿麻烦,叫人本性毕现。一场旅行,如果经历了各种分歧争吵和突发事件后,你还想和这个人在一起,那么你9位女星整容上瘾,有人换头改命成一线,有人葬送事业无人问文阅栀编辑阅栀你的鼻子怎么了?你是整容了吗?哪里整容了,我这是微调!这组对话,来自刘嘉玲和梁家辉在电影中的一个情节。其实,整容这个话题早已是老生常谈,在娱乐圈更是见惯不怪。央视主持看看影星李冰冰影星李冰冰说以后不会为生孩子的事而影响以后的生活,因为晚年想把家产留给两外甥和外甥女纯原创作品原创作17现在我们来说说影星李冰冰,时光过得好快,以前那个被我们熟知为是古装美女的李冰以前五六千的手机都不眨眼,为什么现在发现三四千的手机也嫌贵?几年前,我们可以看到五六千旗舰机发售时,大家蹲点购买,现在会发现大家入手中端机也在纠结性价比,这是为什么呢?买对不买贵的原则智能手机已经普及多年,现在的人买手机已经不是追求价格,更腾讯也救不活企鹅电竞,下一个无法体面离场的直播平台是谁4月7日,企鹅电竞发布公告称,由于业务发展策略的变更,企鹅电竞及相关产品,即将于2022年6月7日终止运营。目前,该平台已经停止新用户注册新主播及新公会入驻,并关闭了充值通道。并且骁龙865小米手机迎来停更,两年的系统维护,官方做到了按照谷歌的要求,手机厂商在使用安卓系统的情况下,需要对智能手机进行两年的系统维护而市面上的骁龙865芯片手机大都发布两年以上的时间,手机厂商也进行了两年的系统维护,所以未来放弃对这ROCWARERC08测评当国产摄像头开始内卷我们还是用手机视频聊吧,你电脑的画面太朦胧了。不同于手机摄像头军事竞赛般的快速升级,电脑的摄像头过得更像是一个小透明,不仅发布会鲜有提及,1080P画质的摄像头也仅出现在少数几款旗华为芯片备胎转正三年记3月28日,华为公司副董事长CFO孟晚舟出席华为年报发布会,而她上次参加年报发布已经是四年前了。3月28日孟晚舟在华为21年度报告发布会2019年5月16日,华为被美国列入实体清单面试官了解线程池吗?为什么有线程池?java语言里,针对每个请求都创建一个线程,会有很大开销。计算机在创建和销毁线程都需要花费额外的时间,甚至多于处理用户请求的时间。创建过多线程还会导致线程切换以及消三一重工强势反弹盘中触及涨停只因一则传闻吗?月线图一三轻工强势反弹盘中触及涨停只因一则传闻吗?自2021年2月份以来,三一重工icon从高点50。3一路下滑,最低跌至今年3月16日的盘中16。2,连续13个月下滑,途中只有一
浙江男篮2连败!蒋兴权爱徒表现糟糕,或被替换,吴前正式复出在刘维伟的打造下,浙江男篮成为CBA强队,甚至有机会去冲击总冠军。然而这个夏天,刘维伟离队,朱旭航去了新疆男篮。无奈之下,浙江男篮选择让蒋兴权另外一位爱徒王世龙出任主帅。从今年夏天美阿尔忒弥斯计划重返月球,盘点史上最惨痛的航天事故自从上世纪70年代载人登月狂潮退却后,月球的表面迄今已有48年没有人类踏足,几十年后,在各项技术都已大步发展的今天,NASA公布了阿尔忒弥斯登月计划,这是希腊神话中的月亮女神,与当李小萌被宠成公主了,穿小白裙牵手王雷甜到齁,郎才女貌不过如此夏日炎炎,各位mm的衣柜里当然不能少了一条好看的裙子呀!裙子虽好,但也不能乱选,不同的身材气质年龄适合的裙子版型风格均各不相同,出席的场合不同,裙子的款式也应该有所不同,正式场合应欢乐3熟女生存法则姐姐教你如何用一手烂牌翻身最近的话题都市剧,自然是在鹅热播的欢乐颂3。对欢乐颂这个IP,我还是挺有感情的。前两部的时候,我比较能够共情关关,因为她比较像我的成长历程,从听话的乖乖女到慢慢找到自我,走出一条独90岁杨少华现身三亚度假!红色长裤抢镜,身材消瘦骨瘦如柴惹人忧8月22日,韩兆条子哥在社交平台晒出了带杨少华去三亚度假的画面,通过画面能看到的是老爷子身形消瘦骨瘦如柴的模样,让人十分担忧。当天现身的杨少华穿着黑色上衣,搭配了一条度假风十足的长阿娇大理生图曝光,法令纹丝毫不影响她的美,41岁的姐姐照样把人美哭近日,阿娇在大理录节目的路透照曝光。当天阿娇身穿一件黄色的背心,编了一个麻花马尾辫,搭配了一条牛仔短裤,看起来既俏皮又显年轻,通过照片可以看出,阿娇整个人的状态很好,脸上也是笑容不森系质感连衣裙做个复古婉约温柔灵动的盐系小姐姐初秋的脚步已经走过了身边,秋风一般随着骄阳轻抚过脸颊。黑色质感的森系连衣裙,整体设计感满满,层次感十足,收腰设计的时髦feel很是明显。森系盐系青春系,当这一系列标签被贴在各个女性网瘾网瘾,又是网瘾绍兴一网瘾少年因被骂而跳楼,摔成残疾依然玩游戏成瘾。又一起因游戏产生的悲剧!其实,孩子的网瘾,家长要负99的责任!正如大多数网友所说,孩子形成网瘾,因为家长平时疏于陪伴或管教,要么在欧洲旅行时,42座不容错过的城堡科尔文城堡(吸血鬼德古拉的囚禁之地)世界上许多最令人惊叹的城堡都在欧洲。几个世纪以来,欧洲的城堡一直以其壮丽和美丽而闻名。欧洲城堡的主要目的是保护其所有者通常是当地王室成员。欧洲城酒旅行业数字化经营,是趋势也是锦上添花各地疫情有效控制下,跨区域出行逐步开放,同时加之行业复苏政策的支持,酒旅行业开始稳定回升。据相关数据显示,2022年端午节期间,国内旅游出行达7961。0万人,同比下降10。7,对星际旅行已不再遥远,用这种能量做推动力可实现10光速飞行星际旅行,一直是全人类的共同梦想,尤其是最近十年,虽然人类航天科技水平的不断提升,人们对外太空更加向往,渴望有一天能飞往遥远的外星球,渴望遨游在浩瀚宇宙里。不过,速度仍旧是限制人类互联网平台企业刑事合规建设重在责任分离汪恭政刘仁文平台企业应根据自身平台类型级别所评估的刑事合规风险进行事前刑事合规建设。同时,有必要根据对应类型级别的平台所处的犯罪情境,找出导致刑事犯罪风险发生的致罪因素和控罪因素,新型食品凝胶是将成为产业发展新方向来源科学网食品凝胶的形成机制及其典型结构。中国农科院蔬菜所供图食品凝胶在食品行业中的最新应用。中国农科院蔬菜所供图近日,中国农业科学院蔬菜花卉研究所采后加工课题组系统总结了食品凝胶RFID智能手持PDA和标签在资产管理中的应用,有效增强企业竞争力根据调查显示,200人以上的企业因缺乏完善的智能管理系统,每年会导致1015的固定资产流失率,20左右的资产闲置率以及10的固定资产重复采购率,这些都会给企业的运营带来不好的影响,合成小鼠胚胎问世无需子宫便可直接孕育出大脑和心脏近日,某英美合作研究小组造出合成小鼠胚胎,这类胚胎既不需要受精卵,也无需借助子宫环境生长,可在实验室直接发育出大脑神经索和心脏组织。这项成果和以色列某研究团队发表于本月初的一项实验你知道护肝应该吃什么吗?记牢这三要三不要肝脏作为人体消化系统中最大的消化腺,地位有多重要可想而知。人体摄入的各种营养物质,基本都要通过肝脏来代谢,同时肝脏还肩负着为机体解毒的重任,所有机体接受到的毒素,都需要经过肝脏来代不好酒肉,每天吃素,怎么尿酸还是会高?不好酒肉,每天吃素,怎么尿酸还是会高?听着是有点无辜了,但也未必。很多人吃菜,喜欢一个鲜,因此特别喜欢放鸡精味精。很多爱吃的零食加工品等也是如此。这就忽略了隐藏的嘌呤制造者鸡精。Q绝妙秋冬鞋履单品,尽显浪漫风情2022年秋冬,MAXCo。和意大利鞋履品牌A。Bocca携手,共同打造2022秋冬的精选鞋履系列,鲜艳的色彩碰撞光泽的材质,尽显柔美俏皮气质。A。Bocca标志性的TwoForL曼城42水晶宫评析哈兰德解锁新技能,瓜迪奥拉升级新模式在和纽卡斯尔上演了一场惊心动魄的33大战,尤其是被圣马克西曼搅得翻天覆地后,曼城本轮的对手水晶宫,多少会让城迷们心有余悸。要知道上赛季曼城面对水晶宫的两回合比赛,不仅没有占到便宜,中国移动本周人事调整多省公司集团部门一把手已到任运营商财经网讯本周,运营商财经网针对相关人事调整进行了报道,其中涉及原广西移动总经理楼向平调任河南移动总经理原浙江移动副总经理陈洪涛升任集团信创部总经理。同时还对多家地市分公司总经超级互联时代,这家老牌科技公司这样突围互联网时代最不缺的就是新概念,尤其是和技术相关的新概念。无论是物联网智联网,还是超级互联网,都将给我们的生活带来意想不到的改变。拿超级互联网来说,这个时代不再只有智能手机一个中心,崩盘!一天10万人爆仓28亿!龙头公司裁员超45近一个多月时间,虚拟货币跌跌不休。8月27日,比特币跌破20000美元,日内跌超3,刷新7月14日以来新低。Watcher。Guru数据显示,在过去24小时内,全球加密货币市场市值