心胸决定格局,眼界决定境界...

解释器模式

将问题的各个实例表述为一个句子,构造1个解释器,对该句子进行解析,就像脚本一样。

eg:

//演奏内容

class PlayContext

{

private string text; //演奏文本

public  string  PlayText//定义类,不定义也可以

{

    get(){return text};

    set(string value){text = value};

}

}

abstract class Expression //抽象解释器

{

 public void Interpret(PlayContext context)

{

   //从 context.PlayText获取  key和Value

   Excute(playKey, playValue);//执行相关命令,多态

}

public abstract void Excute(string key, double value);//多态

}

class Note: Expression//音符

{

  //重写  Excute(string key, double value);

}

 

class Scale: Expression //音阶

{

//重写  Excute(string key, double value);

}

 

 

 

 

 

posted @ 2014-01-08 19:05  WELEN  阅读(92)  评论(0)    收藏  举报