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

单选题

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

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

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

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

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

A
工厂模式
B
责任链模式
C
中介者模式
D
命令模式
使用微信搜索喵呜刷题,轻松应对考试!

答案:

D

解析:

本题主要考查设计模式的应用。

对于需求1,为了支持灵活的撤销与重做等行为,采用命令模式最为合适。命令模式可以将一个请求封装为一个对象,从而实现不同的请求对客户进行参数化,同时还可以记录请求日志,支持可撤销的操作。

对于需求2,封装图像操作与照片特征之间的复杂逻辑关系,状态模式最为合适。状态模式可以将对象的状态作为一个独立的对象,根据对象自身的情况进行变化,而不依赖于其他对象。这样可以将图像的不同特征和对应的操作封装在不同的状态中,从而简化逻辑。

对于需求3,实现图像处理算法的灵活选择与替换,策略模式最为合适。策略模式可以定义一系列的算法,并将它们封装起来,使它们可以相互替换,从而在不修改客户端代码的情况下,根据需求选择合适的算法。

因此,为了支持灵活的撤销与重做等行为,采用命令模式;为了封装图像操作与照片特征之间的复杂逻辑关系,采用状态模式;为了实现图像处理算法的灵活选择与替换,采用策略模式。

创作类型:
原创

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

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

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

分享考题
share