设计模式笔记之十五 (解释器模式)(二)
);
}
}
class NumberExpression extends Expression {
public NumberExpression() {
}
@Override
public boolean matches(String code) {
return code.matches("[0-9]");
}
@Override
public String excute(String code) {
return code + "个";
}
}
复制代码
这样我们就实现了一个简单的解析器模式,在这种模式下,我们可以很简单的增加或者删除某种解析器。
解析器模式是一种易于理解但难于应用的模式。 除非在“一种特定类型的问题发生的频率足够高”的情况下,我们并不推荐使用此模式。因为当文法特别复杂时,会产生很多类,这对维护来说比较困难。总的来说在文法比较简单且发生频率很高的情况下才使用此模式。