简体中文 | 繁体中文

大话设计模式-----第198章


娱乐皇朝 黄金妖瞳 帝王本坏:临时王后要出逃 废材法神 黑道学生与校花 战神一 赤血魔尊 九重天阙 山海经创世纪 颠覆西游之我是牛魔王 你怎知,那不是我的温柔 鬼不语之仙墩鬼泣 exo:情人未满i 兄弟战争兄弟们的不正确打开方式 容华碎 见习御医 魔力演讲法则:当众讲话的艺术 一世轻狂:绝色杀妃 赤胆神枪—特科英雄传奇 逆天邪妃:误惹妖孽王爷
第198章

小A:“解释器模式有什么优点和缺点?”

大B:“解释器模式有下列的优点和不足:1、易于改变和扩展文法因为该模式使用类来表示文法规则,你可使用继承来改变或扩展该文法。已有的表达式可被增量式地改变,而新的表达式可定义为旧表达式的变体。2、也易于实现文法定义抽象语法树中各个节点的类的实现大体类似。这些类易于直接编写,通常它们也可用一个编译器或语法分析程序生成器自动生成。3、复杂的文法难以维护解释器模式为文法中的每一条规则至少定义了一个类(使用BNF定义的文法规则需要更多的类)。因此包含许多规则的文法可能难以管理和维护。可应用其他的设计模式来缓解这一问题。但当文法非常复杂时,其他的技术如语法分析程序或编译器生成器更为合适。4、增加了新的解释表达式的方式解释器模式使得实现新表达式‘计算’变得容易。例如:你可以在表达式类上定义一个新的操作以支持优美打印或表达式的类型检查。如果你经常创建新的解释表达式的方式,那么可以考虑使用Visitor模式以避免修改这些代表文法的类。”

推荐小说