全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
某即时通讯系统重构为中介者模式,要求所有客户端之间的消息转发由中心服务器统一协调。设计者认为,既然交互已中心化,各客户端就不应再持有中心服务器的引用,只需等待服务器主动调用。判断这一观点是否正确。
登录后查看答案
某通知模块的邮件、短信和站内信处理方法中,各自重复编写了相同的接收对象校验代码,并通过条件分支选择发送算法。重构时,开发者只在邮件方法中将校验代码提取为私有方法,便认为其他方法中的重复代码也已自动消除;随后再把发送算法封装为策略,即可完成重构且保持行为不变。判断该说法是否正确。
判断:某消息平台的聊天室将用户甲、乙、丙、丁全部注册为同事对象,当甲发送一条消息时,聊天室对象负责把消息转发给其余在线用户。这一设计中,甲无需持有乙、丙、丁的引用,用户之间的消息交互由聊天室集中协调,这正是中介者模式交互中心化的体现。
某票务系统在重构后,将票价计算封装为“票价策略”接口,普通票与夜场票分别实现该接口;另以“审计装饰器”实现同一接口,并持有一个票价策略对象,在调用其计算方法前后记录审计信息。系统可将任一票价策略交给审计装饰器使用。有人据此断言:新增一种票价策略时,必须修改审计装饰器的代码,否则装饰器无法与新策略协作。判断该断言正误。
某图书借阅模块目前只有一种固定的逾期提醒方式,近期也没有新增提醒方式的需求。开发者认为,为了体现良好设计,应立即引入策略模式。判断该说法是否正确。
某消息系统中,请求沿处理者链逐个传递,任一处理者可处理请求或转交后继,且链上处理者彼此不知晓对方存在,仅持有后继引用。有同学认为:为降低耦合,可将该链改为以一个中介者对象统一接收并分发请求,这样各处理者通过中介者交互,结构上更优于原设计,且改造后系统仍体现责任链模式的逐级处理语义。
某音乐播放器把“播放歌曲《晨光》”封装为 PlayCommand 对象,该对象保存播放器接收者和歌曲名,并提供 execute() 方法。若调用者必须先调用播放器的 loadSong() 方法加载歌曲,再调用 PlayCommand 的 execute() 才能播放,则该设计符合命令模式对请求封装的要求。判断正误。
判断:某绘图软件中,方案甲将“旋转图形”封装为独立的请求对象,调用方可保存、排队、撤销该请求;方案乙在图形对象上调用“旋转”时,具体旋转逻辑由对象当前所处的状态类决定,处理完成后状态对象可能被替换。由此可见,命令模式的核心是将请求封装为对象以支持排队与撤销,状态模式的核心是让行为随内部状态变化而变化,二者意图不同,不能因两者都涉及“行为分发”就断定它们可以互相替代。
某气象数据发布者通过统一的观察者接口登记多个观察者,气象数据变化时逐一通知它们。有人认为:若要增加一种新的观察者,只要该类实现统一接口并完成登记即可;因此,发布者无需依赖观察者的具体类型。判断:该说法正确。
某集合按顺序保存元素:云、雨、风。约定迭代器的 next() 返回当前元素并将游标前移一位。判断:连续调用两次 next(),会返回同一个元素。
判断题:小张在为图书借阅系统进行用例建模时,认为正确的建模步骤是:先绘制用例图,再识别参与者,然后识别用例并编写用例描述,最后确定系统边界。
判断:UML由构造块、规则和公共机制组成;常用视图包括用例视图、设计视图、进程视图、实现视图和部署视图,类图则是与这五种视图并列的一种常用视图。
某批处理程序只有一种固定的压缩算法,调用方不会切换算法,压缩规则也没有独立变化需求。有人认为,只要程序中存在一个算法,就应采用策略模式封装它,以便改善设计。判断该观点是否正确。
设计甲中,多个对象将交互请求交给协调对象,由协调对象决定通知哪些对象;设计乙中,请求由当前处理者决定处理或转交后继处理者。有人据此判断甲属于责任链模式、乙属于中介者模式。该判断是否正确?
判断题:某文档编辑器采用状态模式管理排版行为,当前处于“编辑”状态。规则为:编辑状态收到“预览”事件切换到“预览”状态;预览状态收到“退出预览”事件回到“编辑”状态;未列出的事件不引起状态切换。在该状态下连续依次触发“预览”、“预览”、“退出预览”三个事件后,编辑器最终仍处于“预览”状态。
某告警中心维护已登记接收者的集合。中心状态变化时,向集合中的接收者发送不携带状态值的通知;接收者收到通知后,可自行读取中心的最新状态。有人据此断言:这种设计不符合观察者模式,因为通知必须携带状态值。判断该断言是否正确。
判断:在比较两种模式时,若需求是在运行时替换整套算法,应优先采用模板方法模式;若需求是由父类规定算法步骤顺序、再由子类实现可变步骤,则应采用策略模式。
某风控系统有两种可替换的评分算法,分别封装为独立对象,由调用者选择并可在运行时切换;另有一套固定处理流程,基类规定“收集特征→评分→生成报告”的顺序,子类只重写评分步骤。有人据此认为,前者体现模板方法模式,后者体现策略模式。判断该说法。
某天文数据平台用享元对象绘制同款星体标记:标记的固定轮廓与线条样式保存在共享对象中;每次绘制时,客户端传入星体分类标签和屏幕坐标,且多个星体可能具有相同标签。判断:只要分类标签在多个星体间相同,它就应归为内部状态。
判断:某系统中,类 P 实现了与远程服务对象相同的接口,客户端通过 P 发起调用,P 在转发请求前先检查调用者权限,权限不足则拒绝访问;即使远程服务尚未创建,P 也可先存在并延迟创建它。可见 P 的核心意图是简化客户端对多个子系统的使用,因此 P 属于外观模式。