深入理解Interpreter模式
2016-05-25 10:07
483 查看
1)Interpreter模式是一个能给人留下深刻印象的模式。
The Interpreter pattern describes how to define a grammar for simple languages, represent sentences in the language, and interpret these sentences.
GoF书中的这句话是点睛之笔。1)定义语法;2)组织句子;3)解释句子;
例如用户创建自定义查询:这里的查询就是解释器模式中的句子,与或非等逻辑是语法,而解释(eval方法)就是各个子类根据自身所做的分析。
2)造句:
The Interpreter pattern describes how to define a grammar for simple languages, represent sentences in the language, and interpret these sentences.
GoF书中的这句话是点睛之笔。1)定义语法;2)组织句子;3)解释句子;
例如用户创建自定义查询:这里的查询就是解释器模式中的句子,与或非等逻辑是语法,而解释(eval方法)就是各个子类根据自身所做的分析。
2)造句:
Query current=new Query("Status", "Equals", "1") & new Query("ItemType", "Equals", "0"); string result=current.eval();总结:它的精妙之处和Composite模式一样,Composite可以构建一个复杂的树形结构。而Interpreter模式也可以构建一个复杂的句子,这个句子实际上也是树形结构。
相关文章推荐
- 巴士模板中开启点赞功能及房产页与维盟路由定时重启
- ThinkPHP pathinfo 模式下 url传递参数导致htim 无法加载css样式
- assert
- Android 开源项目侧边栏菜单(SlidingMenu)使用详解
- mac 下的隐藏文件
- 宏内核与微内核、Linux内核与Unix内核的区别
- Android Studio之新建jniLibs(类似小问题)
- AndroidFloatLabel,实现TextView浮动提示
- OpenGLES---GLSL学习
- mac电脑忘记密码
- zabbix3.0 LNMP安装部署
- 编程之美 - 二维数组最大和的子序列
- java 将 ResultSet 转化为 json格式
- VS2013密钥(所有版本)
- $(document).ready(function(){});不执行
- Linux命令之dos2unix - 将DOS格式文本文件转换成UNIX格式
- Java字节码操作开源框架
- SSH学习一
- iOS流布局UICollectionView使用FlowLayout进行更灵活布局
- jQuery短信验证倒计时功能实现方法详解