1)Interpreter模式是一个能给人留下深刻印象的模式。
The Interpreter pattern describes how to define a grammar for simple languages, represent sentences in the language, and interpret these sentences.
GoF书中的这句话是点睛之笔。1)定义语法;2)组织句子;3)解释句子;
例如用户创建自定义查询:这里的查询就是解释器模式中的句子,与或非等逻辑是语法,而解释(eval方法)就是各个子类根据自身所做的分析。
2)造句:
Query current=new Query("Status", "Equals", "1") & new Query("ItemType", "Equals", "0");
string result=current.eval();
总结:它的精妙之处和Composite模式一样,Composite可以构建一个复杂的树形结构。而Interpreter模式也可以构建一个复杂的句子,这个句子实际上也是树形结构。