首页 java设计模式 行为型 Interpreter,解释器模式

行为型 Interpreter,解释器模式

Interpreter,解释器模式:给定一个语言,定义他的文法的一个表示,并定义一个解释器,这个解释器使用该表示来解释语…

Interpreter,解释器模式:给定一个语言,定义他的文法的一个表示,并定义一个解释器,这个解释器使用该表示来解释语言 中的句子。

INTERPRETER 俺有一个《泡MM真经》,上面有各种泡MM的攻略,比如说去吃西餐的步骤、去看电影的方法等等,跟MM约会时,只要做一个Interpreter,照着上面的脚本执行就可以了。 解释器模式:给定一个语言后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。解释器模式将描述怎样在有了一个简单的文法后,使用模式设计解释这些语句。在解释器模式里面提到的语言是指任何解释器对象能够解释的任何组合。在解释器模式中需要定义一个代表文法的命令类的等级结构,也就是一系列的组合规则。每一个命令对象都有一个解释方法,代表对命令对象的解释。命令对象的等级结构中的对象的任何排列组合都是一个语言。

1

思想:当 有一个语言需要解释执行, 并且你可将该语言中的句子表示为一个抽象语法树时,定义一个解释器,这 个解释器使用该表示来解释语言中的句子。

场景:其 实,从物理结构上,该模式的代码架构看起来可能和Composite模式一模一样,致使其针对的逻 辑语义不同。Composite模式描述一种一般的整体和部分使用接口上的一致性,而Interpreter模 式则侧重于语言解释器的实现构架。

实现:如 上图,基本同Composite模式。

重构成本:高。

 

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

行为型 Iterator,迭代器模式

行为型 Iterator,迭代器模式

Iterator,迭代器模式:提供一个方法顺序访问一个聚合对象的各个元素,而又不需要暴露该对象的内部表示。 ITERAT...
结构型 Proxy,代理模式

结构型 Proxy,代理模式

Proxy,代理模式:为其他对象提供一种代理以控制对这个对象的访问 PROXY 跟MM在网上聊天,一开头总是“hi,你好...
结构型 Flyweight,享元模式

结构型 Flyweight,享元模式

结构型 Flyweight,享元模式 FLYWEIGHT 每天跟MM发短信,手指都累死了,最近买了个新手机,可以把一些常...
结构型  外观模式, Facade

结构型 外观模式, Facade

外观模式, Facade FACADE 我有一个专业的Nikon相机,我就喜欢自己手动调光圈、快门,这样照出来的照片才专...
结构型 Decrator,装饰模式

结构型 Decrator,装饰模式

Decrator,装饰模式 DECORATOR Mary过完轮到Sarly过生日,还是不要叫她自己挑了,不然这个月伙食费...
返回顶部