【软考学习】设计模式——解释器模式

时间:2022-10-01 19:42:33
【背景】
设计模式是非常重要的一块知识,每个设计模式都值得深入了解和学习。
【内容】

结构型设计模式总结:

解释器设计模式总结:

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


    二、UML结构图:

【软考学习】设计模式——解释器模式

    三、代码实现:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 解释器模式_基本代码
{
class Program
{
static void Main(string[] args)
{
Context context = new Context();
IList<AbstractExpression> list = new List<AbstractExpression>();
list.Add(new TerminalExpression());
list.Add(new NonterminalExpression());
list.Add(new TerminalExpression());
list.Add(new NonterminalExpression());

foreach (AbstractExpression exp in list)
{
exp.Interpret(context);
}

Console.Read();
}
}

abstract class AbstractExpression
{
public override void Interpret(Context context);
}

class TerminalExpression : AbstractExpression
{
public override void Interpret(Context context)
{
Console.WriteLine("终端解释器");
}
}

class NonterminalExpression : AbstractExpression
{
public override void Interpret(Context context)
{
Console.WriteLine("非终端解释器");
}
}

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; }
}
}
}