拾题
首页 / 软考真题 / 软件架构风格 / 第 8 题

在折扣规则可修改性、个性化折扣定义灵活性和系统性能三个方面,比较解释器架构风格与面向对象架构风格的优劣,并说明选择解释器…

简答题

在折扣规则可修改性、个性化折扣定义灵活性和系统性能三个方面,比较解释器架构风格与面向对象架构风格的优劣,并说明选择解释器风格的理由。
答案:解释器风格在折扣规则可修改性和个性化折扣定义灵活性方面优于面向对象风格,因为解释器将规则作为独立语法,易于修改和灵活执行;但在系统性能方面,面向对象风格优于解释器,因为解释器需要动态解释执行。因此,若系统强调规则灵活多变,应选择解释器风格。

解析

参考答案

  • 可修改性:解释器优。规则以独立语法或表达式描述,增删改折扣规则无需大改类结构。
  • 灵活性:解释器优。可动态组合终结符与非终结符,快速定义个性化折扣。
  • 性能:面向对象优。解释器需解析、建语法树并动态解释,开销大;面向对象直接调用,效率高。
  • 选择理由:若折扣规则频繁变化、个性化需求强,应以一定性能代价换取可修改性与灵活性,故选解释器。

得分点说明

前两点是解释器的核心价值,直接对应规则易变和个性化定义;性能对比体现架构权衡,避免片面;选择理由说明场景适配,而非绝对优劣。

延伸

解释器适合规则引擎、DSL。若性能关键,可混合使用:规则配置用解释器,热点路径用面向对象或编译优化。

← 上一题

本单元其他题目

在拾题里做这套题