软件工程 判断题 较难 ★ 精品

策略模式定义与结构 — 软件工程判断题

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

题目
某订单系统需要支持多种折扣算法。学生小李这样设计:定义一个抽象类 DiscountStrategy,各具体折扣算法继承它并实现 calculate() 方法;订单类 Order 保存一个 DiscountStrategy 引用,并在结算时调用该引用的 calculate()。小李由此得出两点结论:①由于算法已被封装在独立的类层次中,策略模式允许在运行时通过替换 Order 所持有的策略对象来切换折扣算法,而不必修改 Order 的代码;②策略模式要求客户端在编译期就固定使用某一个具体策略,运行期间不可更换。请判断:结论①和结论②的正误组合是否为「①正确,②错误」。