18.Interpreter(行为型模式)

原创 2011年01月12日 22:02:00

【起源】

         不断重现的复杂问题,总是可以分解成可以解决的小问题(就像一切数学函数都可以用级数分解成正弦函数和余弦函数)。可以考虑将问题用一个句子表示(语法自定义),并构建解释器(描述语法规则),解释句子的含义(处理该问题)。

         本质是通过解释器的解释规则将复杂问题分解成已知的小问题,并逐个解决。定义解释器是关键!

 

【动机】

         给定一个语言,定义它的文法的一种表示,并定义一种解释器,这个解释器使用该表示来解释语言中的句子。

 

【核心】

         宏观思想:映射。

         任何一种语言的本质:含义的表达。“语言的表示”与“含义”是映射关系,通过“语法规则”这座桥梁联系起来。

         Interpreter模式本质是在“自定义语言”,与我们平时用的计算机语言是一样的。我们通过这种语言告诉计算机去做什么事情,解释器就是语言与计算机的沟通协议。

         “映射,规则”在数学层面抽象为“函数”。我们处理问题的算法就是一个大函数,函数有(逻辑,表达)两个方面;最简单的逻辑是枚举,表达最复杂,抽象水平最低;为了得到简单的表达,必须提高抽象水平,使逻辑变得复杂。

         计算机问题的通常解决方法:本质上是枚举。因为问题的变化范围有限。

         Interpreter用来解决 变化范围不可枚举或难于枚举 的问题。解释器就是高度抽象的函数 处理=F(问题)。

 

【代码实例】

 

【模型图】

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Interpreter解释器(行为型模式)

动机(Motivation) 在软件构建中,如果某一特定领域的问题比较复杂,类似的模式不断重复出现,如果使用普通的变成方式来实现将面临非常频繁的变化。 在这种情况下,将特定领域...

十五、解释器模式Interpreter(行为型)

给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样...

行为型模式-解释器(interpreter)

解释器 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子.

3.3 Interpreter(解释器) -- 类行为型模式

前言 那日,闲的无聊,上了一个在线编程学习网站;最近那个在线编程学习网站很火啊;之前,盖茨、扎克伯格等大人物都来宣传了,思想是人人都应该学习编程;我一想就这算怎么回事啊?这要是在中国,还让人活不...

"围观"设计模式(27)--行为型之解释器模式(Interpreter Pattern)

解析器是一种按照规定的语法进行解析的例子,在现在的项目中使用较少,定义如下:给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器用于解释语言中的句子。 个人理解 解释器模式...

解释器模式(Interpreter Pattern,类行为型模式)

意图以类来表达语法规则 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。适用性当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象语法树时...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)