刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

某软件公司欲设计一款图像处理软件,帮助用户对拍摄的照片进行后期处理。在软件需求分析阶段,公司的系统分析师识别出了如下3个关键需求:

图像处理软件需要记录用户在处理照片时所有动作,并能够支持用户动作的撤销与重做等行为。

图像处理软件需要根据当前正在处理的照片的不同特征选择合适的处理操作,处理操作与照片特征之间具有较为复杂的逻辑关系。

图像处理软件需要封装各种图像处理算法,用户能够根据需要灵活选择合适的处理算法;软件还要支持高级用户根据一定的规则添加自定义处理算法。

在系统设计阶段,公司的架构师决定采用设计模式满足上述关键需求中对系统灵活性与扩展性的要求。具体来说,为了支持灵活的撤销与重做等行为,采用( )最为合适;为了封装图像操作与照片特征之间的复杂逻辑关系,采用( )最为合适;为了实现图像处理算法的灵活选择与替换,采用(请作答此空)最为合适。

A
模板方法模式
B
访问者模式
C
策略模式
D
观察者模式
使用微信搜索喵呜刷题,轻松应对考试!

答案:

C

解析:

本题主要考查设计模式的应用场景。针对图像处理软件的需求,具体分析如下:

  1. 为了支持灵活的撤销与重做等行为,采用命令模式较为合适,因为命令模式可以封装用户操作,记录操作日志,支持撤销和重做。但题目中未明确提到命令模式,因此此处不选。
  2. 为了封装图像操作与照片特征之间的复杂逻辑关系,状态模式是一个好的选择。状态模式可以根据照片的不同特征改变软件的状态,并决定应采取的操作。但同样,题目中未提及状态模式,故此处也不选。
  3. 针对需求3,实现图像处理算法的灵活选择与替换,策略模式是最为合适的。策略模式允许在运行时根据需求选择具体的算法,而无需修改客户端代码。因此,在系统设计阶段,为了图像处理算法的灵活选择与替换,采用策略模式是最合适的。
创作类型:
原创

本文链接:某软件公司欲设计一款图像处理软件,帮助用户对拍摄的照片进行后期处理。在软件需求分析阶段,公司的系统分

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share