软件工程 判断题 较难

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

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

题目
某压缩模块中,抽象类 Compressor 的 process() 方法固定了「读取→压缩→写回」的骨架,子类 ZipCompressor 与 RarCompressor 各自重写其中「压缩」一步;另有多个加密算法(AES、DES 等)被封装为独立且可整体互换的对象,由客户端在运行时注入使用。同学甲认为:前者的关键是定义算法骨架并延迟部分步骤到子类,属模板方法模式;后者的关键是封装整个算法族并使其可互换替换,属策略模式。同学乙认为:模板方法与策略模式的本质区别在于模式侧重的是算法结构(骨架)还是算法整体(策略)的选择与封装。判断甲、乙两人的说法是否均正确。