全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
判断题:某软件团队需要快速收集大量异地用户对新功能的需求偏好,由于被调查者人数众多且分布分散,团队采用发放问卷的方式获取需求。有人认为:问卷调查法能够获得深入的隐性知识,是需求获取中最能挖掘深层动机的方法。该说法是否正确?
登录后查看答案
需求分析人员向分布在不同地区的用户发送相同问题,收集其书面回答以了解需求;由于问题内容由分析人员预先设定,这种需求获取方法应归类为访谈。判断该表述是否正确。
UML 的构造块包括事物、关系和图;规则包括命名、范围、可见性、完整性、执行;公共机制包括规格说明、修饰、公共分类和扩展机制。常用视图包括用例视图、设计视图、进程视图、实现视图和部署视图。因此,若某系统建模时只关注并发线程的调度与同步,应优先选用实现视图来组织模型。该说法是否正确?
判断:面向对象分析与设计流程中,通常先分析问题并建立分析模型,再依据分析结果开展面向对象设计。
判断题:在某责任链模式中,处理者 A 收到请求后能够完整处理该请求,A 也可以选择继续将请求传递给后继处理者,而非必须终止传递。
某文本导出组件需根据用户在运行时选择的格式,分别执行互不依赖的导出算法;格式选择由外部配置决定,组件自身没有因内部状态变化而改变行为的需求。评审者认为,既然算法会在运行时切换,就应优先采用状态模式而非策略模式。判断该评审意见是否正确。
某校园打印服务目前只有一种固定的打印流程,近期也没有新增流程的需求。开发者认为,只要采用多个设计模式预留扩展能力,就是良好的设计。判断该说法是否正确。
判断:某文档编辑器采用状态模式,当前状态为“编辑中”,规则为:编辑中收到“保存”进入“已保存”,已保存收到“修改”回到“编辑中”,未列出的事件不改变状态。若有人说:“从已保存状态连续收到两次‘保存’,状态会变为编辑中,因为每次保存都会触发状态切换。”
某日志平台把“归档指定批次”封装成对象,对象中保存归档服务接收者和批次号,但不提供任何可供调用者触发该请求的方法。该对象仍是完整的命令对象。判断正误。
某数据源维护已登记的观察者。数据发生变化时,数据源只发送通知,不在通知中携带新数据;观察者收到通知后再读取数据源的当前状态。判断:由于通知没有携带新数据,这种发布与通知方式不符合观察者模式。
判断:策略模式将一组可互换的算法封装在不同的策略类中,客户端可根据需要选择具体策略。
判断:在外观模式中,门面角色会把多个子系统的具体功能实现集中到自身;客户端调用门面后,实际工作由门面独立完成,不再由子系统对象承担。
判断:在中介者模式中,对象之间的交互由中介者统一协调,同事对象不直接彼此通信。
判断:某设备把“启动校准”封装成可由调用方选择并提交的请求对象;另一个设备收到同一操作后,依据自身当前状态执行不同处理并可能切换状态。由此可断定,凡是把行为封装成对象的设计都属于命令模式,而状态模式必须由调用方显式选择状态对象。
判断:在命令模式中,命令对象封装对接收者的请求,并提供执行该请求的方法。
判断:某类用聚合对象内部数组存储元素并对外提供 createIterator() 方法。若在首次调用 createIterator() 获得迭代器 it 之后、遍历完成之前,向该聚合的数组尾部追加了两个新元素,则基于常见实现(迭代器持有聚合引用,hasNext() 每次实时比较当前游标位置与聚合当前元素总数),it 的本次遍历仍会访问到新追加的这两个元素。
判断题:在使用 Java 内置的 java.util.Observable 与 Observer 机制时,只要调用了 notifyObservers() 方法,所有已注册的观察者就一定会收到更新通知。
某压缩模块中,抽象类 Compressor 的 process() 方法固定了「读取→压缩→写回」的骨架,子类 ZipCompressor 与 RarCompressor 各自重写其中「压缩」一步;另有多个加密算法(AES、DES 等)被封装为独立且可整体互换的对象,由客户端在运行时注入使用。同学甲认为:前者的关键是定义算法骨架并延迟部分步骤到子类,属模板方法模式;后者的关键是封装整个算法族并使其可互换替换,属策略模式。同学乙认为:模板方法与策略模式的本质区别在于模式侧重的是算法结构(骨架)还是算法整体(策略)的选择与封装。判断甲、乙两人的说法是否均正确。
在策略模式中,Context(上下文)应持有对抽象策略角色的引用,并在需要时委托其执行算法;若让 Context 继承某个具体策略类来获得算法,则通常违背策略模式的角色结构。该说法是否正确?
判断:在仓库货位标识系统中,多个标识可复用同一图案轮廓;若每个货位的显示颜色和屏幕坐标由客户端分别提供,则图案轮廓属于内部状态,颜色和屏幕坐标属于外部状态。