行为型设计模式之解释器模式(Interpreter)
结构 | |
意图 | 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 |
适用性 |
|
1 using System; 2 using System.Collections; 3 4 class Context 5 { 6 7 } 8 9 abstract class AbstractExpression 10 { 11 abstract public void Interpret(Context c); 12 } 13 14 // class for terminal symbol 15 class TerminalExpression : AbstractExpression 16 { 17 override public void Interpret(Context c) 18 { 19 20 } 21 } 22 23 // class for grammar rule (one per rule needed) 24 class NonterminalExpression : AbstractExpression 25 { 26 override public void Interpret(Context c) 27 { 28 29 } 30 } 31 // to extend grammar, just add other NonterminalExpression classes 32 33 /// <summary> 34 /// Summary description for Client. 35 /// </summary> 36 public class Client 37 { 38 public static int Main(string[] args) 39 { 40 Context c = new Context(); 41 ArrayList l = new ArrayList(); //really need a tree here! 42 43 // build up context information 44 // . . . 45 46 // Populate abstract syntax tree with data 47 l.Add(new TerminalExpression()); 48 l.Add(new NonterminalExpression()); 49 50 // interpret 51 foreach (AbstractExpression exp in l) 52 { 53 exp.Interpret(c); 54 } 55 56 return 0; 57 } 58 }
解释器模式
转载于:https://www.cnblogs.com/ziranquliu/p/4666218.html
行为型设计模式之解释器模式(Interpreter)相关推荐
- 设计模式之解释器模式(Interpreter)摘录
23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...
- 设计模式 笔记 解释器模式 Interpreter
//---------------------------15/04/26---------------------------- //Interpreter 解释器模式----类行为型模式 /* 1 ...
- 北风设计模式课程---解释器模式(Interpreter Pattern)
北风设计模式课程---解释器模式(Interpreter Pattern) 一.总结 一句话总结: 不仅要通过视频学,还要看别的博客里面的介绍,搜讲解,搜作用,搜实例 设计模式都是对生活的抽象,比如用 ...
- 【白话设计模式二十二】解释器模式(Interpreter)
为什么80%的码农都做不了架构师?>>> #0 系列目录# 白话设计模式 工厂模式 单例模式 [白话设计模式一]简单工厂模式(Simple Factory) [白话设计模式二] ...
- 设计模式之---解释器模式
解释器模式概述 解释器模式是一种使用频率相对较低但学习难度较大的设计模式,它用于描述如何使用面向对象语言构成一个简单的语言解释器.在某些情况下,为了更好地描述某一些特定类型的问题,我们可以创建一种新的 ...
- 【设计模式】解释器模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
文章目录 一.解释器模式简介 二.解释器模式适用场景 三.解释器模式优缺点 四.解释器模式与适配器模式 五.解释器模式代码示例 1.解释器接口 2.加法解释器 3.乘法解释器 4.整型解释器 5.语法 ...
- python实现解释器_Python设计模式之解释器模式
解释器模式 对每个应用来说,至少有以下两种不同的用户分类. 基本用户:这类用户只希望能够凭直觉使用应用.他们不喜欢花太多时间配置或学习应用的内部.对他们来说,基本的用法就足够了. 高级用户:这些用户, ...
- java 设计模式之解释器模式(十九)
java 设计模式之解释器模式①⑨ 定义 角色分析 使用场景 代码实现 躁动的心灵,不安的灵魂.在彷徨中挣扎,在迷失中探索.时光飞逝,努力不变. 设计模式学习,近期我会把23种设计模式都写成博客,敬请 ...
- 设计模式之解释器模式、例子分析
1. 定义 解释器模式( interpreter):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子 2. 参考 https://blog.csdn.ne ...
最新文章
- Python正则表达式初识(十)附正则表达式总结
- h3c wa2620胖ap设置_AP考试|错过报名不用慌,香港考区目前仍然可以报名!
- 知识体系(不断更新)
- 第六章扩展——VMA
- 微信公众号对接PHP电影网站,wxapi 微信公众号平台与电影类网站对接源码 
wxapi 联合开发网 - pudn.com...
- ASCII、Unicode、GBK和UTF-8字符编码的区别联系(转载)
- Eclipse正式代替Oracle接管Java EE
- java 线程修改数据库连接_如何强制Java线程关闭线程本地数据库连接
- Metasploit Framework —— Exploit
- axure9实用操作设置鼠标单击交互事件为什么没响应
- 阿里云服务器搭建Django环境二:django+mysql环境搭建
- 【大数据离线开发】1、大数据准备环境之Linux配置
- 热烈祝贺 Entrust 正式成为本届SDS赞助商
- 编译Linux内核没有zImage,Linux 编译系统的简单介绍与内核编译安装
- 全球与中国切板刀市场深度研究分析报告
- DSO Framer _ WinForm 使用
- 小米/红米手机如何通过USB数据线把手机网络共享给电脑
- html手机和电脑一致,浏览器兼容性(手机、电脑。js、html、css)
- ARM CPU性能优化:FP32 、FP16 和BF16区别
- CalibrateIO
热门文章
- php 特有,PHP特殊数据类型有哪些?原来这门编程语言如此有趣
- android实现通知栏搜索功能,actionBar+SearchView实现搜索功能
- redis高级用法:geo位置相关信息
- python是动态还是静态_python之静态方法和动态方法介绍
- vue 原型设计 拖拽_设计即开发,如何打通软件研发的“任督二脉”?
- php get 分页,PHP_codeigniter实现get分页的方法,本文实例讲述了codeigniter实现ge - phpStudy...
- 文件的存取方式java_三种访问文件的方式
- git rebase branch内部调整 调整commit顺序
- Spring mvc @PathVaribale
- requests与bs4编码