软件工程 选择题 较难 ★ 精品

策略与模板方法模式对比 — 软件工程选择题

软件设计模式 行为型模式之一:策略与模板方法 AI 三重审校通过

题目
某物流计费系统中,价格计算的总体流程固定为:校验订单→计算基础运费→叠加附加费→输出账单。开发组既可以让抽象类固定该流程、由子类实现“计算基础运费”步骤,也可以将每种计费算法整体封装为独立对象、由上下文在运行时替换。下列哪项是对这两种实现方式(模板方法与策略模式)的准确对比? A. 模板方法通过继承复用并固定算法骨架,策略通过组合封装可整体替换的算法族 B. 两种模式都必须在运行时动态切换算法,否则无法工作 C. 模板方法要求客户端持有具体算法对象并负责选择,策略则完全由父类控制流程 D. 两种模式都会导致算法骨架在多个子类中重复出现