zoukankan      html  css  js  c++  java
  • 设计模式:解释器模式

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

    namespace InterpreterDesign
    {
        public abstract class AbstractExpression
        {
            public abstract void Interpret(Context context);
        }
        public class TerminalExpression : AbstractExpression
        {
            public override void Interpret(Context context)
            {
                Console.WriteLine("终端解释器");
            }
        }
        public class NonterminalExpression:AbstractExpression
        {
            public override void Interpret(Context context)
            {
                Console.WriteLine("非终端解释器");
            }
        }
        public class Context
        {
            private string input;
            public string Input
            {
                get { return input; }
                set { input = value; }
            }
            private string output;
            public string Output
            {
                get { return output; }
                set { output = value; }
            }
        }
    }
    View Code

    测试代码:

                InterpreterDesign.Context context = new InterpreterDesign.Context();
                IList<AbstractExpression> list = new List<AbstractExpression>();
                list.Add(new TerminalExpression());
                list.Add(new NonterminalExpression());
                list.Add(new TerminalExpression());
                list.Add(new TerminalExpression());
                foreach(AbstractExpression exp in list)
                {
                    exp.Interpret(context);
                }
    View Code
  • 相关阅读:
    "#"
    网络请求
    iOS_正则表达式判断手机型号、邮箱、手机号、身份证、昵称、密码等
    程序员
    js交互
    android 性能优化
    Android 开源的项目框架
    Android 开源框架案例
    Android Listview上拉刷新加载框架
    android 上传文件到服务器FIP
  • 原文地址:https://www.cnblogs.com/uptothesky/p/5287279.html
Copyright © 2011-2022 走看看