乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

时间:2022-01-23 10:39:16

原文:乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

[索引页][源码下载]

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

作者:webabcd





介绍

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





示例

有一个Message实体类,某个类对它的操作有Get()方法。现在要求用具有某一规则的中文语法来执行这个操作。

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)





MessageModel

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// Message实体类

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class MessageModel

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 构造函数

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="msg">Message内容</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="pt">Message发布时间</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public MessageModel(string msg, DateTime pt)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            this._message = msg;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            this._publishTime = pt;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        private string _message;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// Message内容

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public string Message

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            get 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ return _message; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            set 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ _message = value; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        private DateTime _publishTime;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// Message发布时间

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public DateTime PublishTime

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            get 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ return _publishTime; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            set 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ _publishTime = value; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

SqlMessage

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// Sql方式操作Message

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class SqlMessage

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获取Message

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public static List<MessageModel> Get()

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            List<MessageModel> l = new List<MessageModel>();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            l.Add(new MessageModel("SQL方式获取Message", DateTime.Now));

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            return l;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

Context

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// Context

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class Context

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        private string _input;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        private string _output;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 构造函数

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="input">输入内容</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public Context(string input)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            this._input = input;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 输入内容

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public string Input

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            get 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ return _input; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            set 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ _input = value; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 输出内容

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public string Output

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            get 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ return _output; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            set 乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){ _output = value; }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

AbstractExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// 抽象公式(AbstractExpression)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public abstract class AbstractExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 解释Context的方法

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="context">context</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public void Interpret(Context context)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            if (String.IsNullOrEmpty(context.Input))

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)                return;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            context.Output += GetCSharp(context.Input);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获得输入内容所对应的C#代码

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="source">source</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        private string GetCSharp(string source)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            string csharp = "";

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            string word = "";

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            // 从输入内容中取得要解释的词

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            word = GetWord(source);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            // 从字典中找到word所对应的C#代码

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            GetDictionary().TryGetValue(word, out csharp);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            return csharp;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 从输入内容中取得要解释的词

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="source">source</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public abstract string GetWord(string source);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获取字典

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public abstract Dictionary<string, string> GetDictionary();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

DatabaseExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text.RegularExpressions;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// 终端公式(TerminalExpression)分析与数据库相关的

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class DatabaseExpression : AbstractExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 从输入内容中取得要解释的词

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="source">source</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override string GetWord(string source)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            MatchCollection mc;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Regex r = new Regex(@"\{(.*)\}");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            mc = r.Matches(source);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            ].Value;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获取与数据库相关的字典

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override Dictionary<string, string> GetDictionary()

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Dictionary<string, string> d = new Dictionary<string, string>();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            d.Add("数据库", "Sql");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            return d;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

ObjectExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text.RegularExpressions;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// 终端公式(TerminalExpression)分析与对象相关的

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class ObjectExpression : AbstractExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 从输入内容中取得要解释的词

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="source">source</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override string GetWord(string source)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            MatchCollection mc;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Regex r = new Regex(@"\[(.*)\]");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            mc = r.Matches(source);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            ].Value;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获取与对象相关的字典

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override Dictionary<string, string> GetDictionary()

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Dictionary<string, string> d = new Dictionary<string, string>();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            d.Add("信息", "Message");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            return d;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

MethodExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text.RegularExpressions;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)namespace Pattern.Interpreter

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// 终端公式(TerminalExpression)分析与方法相关的

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    public class MethodExpression : AbstractExpression

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 从输入内容中取得要解释的词

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <param name="source">source</param>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override string GetWord(string source)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            MatchCollection mc;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Regex r = new Regex(@"\((.*)\)");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            mc = r.Matches(source);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            ].Value;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /**//// <summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// 获取与方法相关的字典

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// </summary>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        /// <returns></returns>

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        public override Dictionary<string, string> GetDictionary()

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            Dictionary<string, string> d = new Dictionary<string, string>();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            d.Add("获取", ".Get()");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            return d;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

client

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Data;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Configuration;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web.Security;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web.UI;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web.UI.WebControls;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web.UI.WebControls.WebParts;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Web.UI.HtmlControls;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using Microsoft.CSharp;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Reflection;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Text;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using System.Collections.Generic;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)using Pattern.Interpreter;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)public partial class Interpreter : System.Web.UI.Page

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    protected void Page_Load(object sender, EventArgs e)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        string chinese = "{数据库}[信息](获取)";

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Context context = new Context(chinese);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        List<AbstractExpression> l = new List<AbstractExpression>();

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        l.Add(new DatabaseExpression());

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        l.Add(new ObjectExpression());

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        l.Add(new MethodExpression());

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        foreach (AbstractExpression exp in l)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern){

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)            exp.Interpret(context);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Assembly assembly = Assembly.Load("Pattern.Interpreter");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        MethodInfo method ].Replace("()", ""));

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        object obj = method.Invoke(null, null);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        List<MessageModel> m = (List<MessageModel>)obj;

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Response.Write("中文语法:" + chinese);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Response.Write("解释后的C#代码:" + context.Output);

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Response.Write("<br />");

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)        Response.Write(].PublishTime.ToString());

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)    }

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)}

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)

运行结果

中文语法:{数据库}[信息](获取)

解释后的C#代码:SqlMessage.Get()

执行结果:SQL方式获取Message 2007-5-1 8:48:07





参考

http://www.dofactory.com/Patterns/PatternInterpreter.aspx





OK

[源码下载]

乐在其中设计模式(C#) - 解释器模式(Interpreter Pattern)的更多相关文章

  1. C&num;设计模式:解释器模式&lpar;Interpreter Pattern&rpar;

    一,C#设计模式:解释器模式(Interpreter Pattern) 1,解释器模式的应用场合是Interpreter模式应用中的难点,只有满足“业务规则频繁变化,且类似的模式不断重复出现,并且容易 ...

  2. 二十四种设计模式:解释器模式&lpar;Interpreter Pattern&rpar;

    解释器模式(Interpreter Pattern) 介绍给定一个语言, 定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子. 示例有一个Message实体类,某个类对它的 ...

  3. 乐在其中设计模式&lpar;C&num;&rpar; - 提供者模式&lpar;Provider Pattern&rpar;

    原文:乐在其中设计模式(C#) - 提供者模式(Provider Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 提供者模式(Provider Pattern) 作者:weba ...

  4. 乐在其中设计模式&lpar;C&num;&rpar; - 访问者模式&lpar;Visitor Pattern&rpar;

    原文:乐在其中设计模式(C#) - 访问者模式(Visitor Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 访问者模式(Visitor Pattern) 作者:webabc ...

  5. 乐在其中设计模式&lpar;C&num;&rpar; - 策略模式&lpar;Strategy Pattern&rpar;

    原文:乐在其中设计模式(C#) - 策略模式(Strategy Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 策略模式(Strategy Pattern) 作者:webabc ...

  6. 乐在其中设计模式&lpar;C&num;&rpar; - 状态模式&lpar;State Pattern&rpar;

    原文:乐在其中设计模式(C#) - 状态模式(State Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 状态模式(State Pattern) 作者:webabcd 介绍 允 ...

  7. 乐在其中设计模式&lpar;C&num;&rpar; - 备忘录模式&lpar;Memento Pattern&rpar;

    原文:乐在其中设计模式(C#) - 备忘录模式(Memento Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 备忘录模式(Memento Pattern) 作者:webabc ...

  8. 乐在其中设计模式&lpar;C&num;&rpar; - 迭代器模式&lpar;Iterator Pattern&rpar;

    原文:乐在其中设计模式(C#) - 迭代器模式(Iterator Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 迭代器模式(Iterator Pattern) 作者:weba ...

  9. 乐在其中设计模式&lpar;C&num;&rpar; - 命令模式&lpar;Command Pattern&rpar;

    原文:乐在其中设计模式(C#) - 命令模式(Command Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 命令模式(Command Pattern) 作者:webabcd ...

随机推荐

  1. IT职场人的&OpenCurlyDoubleQuote;存在主义”

      人生在世,最重要的一条就是:找准你的位置.也就是,你的定位问题. 就在前两天,参加一次社交活动,一知名培训师回顾过往,感慨地说:一个好的培训师,一定要定位好自己的客户群,根据他们的需求做好自己的定 ...

  2. 用户层获取TEB PEB结构地址 遍历进程模块&period;doc

    1.fs寄存器指向TEB结构 2.在TEB+0x30地方指向PEB结构 3.在PEB+0x0C地方指向PEB_LDR_DATA结构 4.在PEB_LDR_DATA+0x1C地方就是一些动态连接库地址了 ...

  3. goldengate 12c 12&period;2 新特性&lpar;updated&rpar;

    GoldenGate 12.2已经提供下载,增加了不少新特性 1. 异构配置加强不在需要sourceDefs和AssumeTargetDefs文件,在队列文件中已经包含metadata信息,比如tab ...

  4. Jenkins简单使用介绍

    一.Jenkins的配置 1. 下载地址: Jenkins的官方网站:http://jenkins-ci.org/ 目前最新版本的Windows版:http://mirror.xmission.com ...

  5. 【JavaScript】javascript常用的东西

    DOM编程.AJAX编程.异步编程(nodejs会涉及的相对多一点,事件.ajax) 函数.函数表达式.回调函数是基础. JavaScript的函数是一个核心. 回调函数有点类似于Android中的回 ...

  6. (转)Libevent(1)— 简介、编译、配置

    转自:http://name5566.com/4190.html 参考文献列表:http://www.wangafu.net/~nickm/libevent-book/ 此文编写的时候,使用到的 Li ...

  7. jQuery attr removeAttr 属性操作

    jQuery attr removeAttr 属性操作 <%@ page language="java" import="java.util.*" pag ...

  8. 利用 pyspider 框架抓取猫途鹰酒店信息

    利用框架 pyspider 能实现快速抓取网页信息,而且代码简洁,抓取速度也不错. 环境:macOS:Python 版本:Python3. 1.首先,安装 pyspider 框架,使用pip3一键安装 ...

  9. Convert Adjacency matrix into edgelist

    Convert Adjacency matrix into edgelist import numpy as np #read matrix without head. a = np.loadtxt( ...

  10. Java生成PDF文档(表格、列表、添加图片等)

    需要的两个包及下载地址: (1)iText.jar:http://download.csdn.net/source/296416 (2)iTextAsian.jar(用来进行中文的转换):http:/ ...