单选题5.3 软件设计7 / 12
正在加载题目…
系统集成项目管理工程师 · 第三版 · 第5章 软件工程
迪米特原则为什么与低耦合一致?
12 道章节练习题
答案与解析
正确答案 C
“对其他对象有尽可能少的了解”就是迪米特原则,也叫最少知识法则。知道的内部细节少,依赖便不容易扩散,对应低耦合,选C。
注意这道题有两个空,不能只凭后一空排除选项。B也写了低耦合,但组合重用回答的是怎样复用已有能力,不是对象应该了解多少外部细节。例如订单只需请求配送服务安排发货,不必先取得仓库内部的货架对象,再操作货架里的库存对象。减少这种层层深入的依赖,内部结构调整时,订单就不容易被牵连。最少知识并非完全禁止对象合作,而是通过必要、清晰的接口合作。高内聚则看一个类或模块内部的职责是否紧密相关,两者关注的边界不同。
选项分析
- A
- 单职原则关注一个类引起变化的原因,高内聚关注内部职责,不能解释题干对其他对象的了解程度。
- B
- 后一空符合目标,但组合重用强调优先通过组合复用能力,不是最少知识法则的名称。
- C
- 前一空对上原则定义,后一空说明减少类间依赖的目的,两处都成立。
- D
- 开闭原则关注对扩展开放、对修改封闭,高内聚也不是题干强调的对象之间的关系。
容易混淆的地方
看到“相对独立”就泛泛地选高内聚,没有分清类内部的职责与类之间的依赖。
再巩固一步
- 遇到两个空,分别核对定义和目的。迪米特看对外知道多少,单职看自身为什么变化。
课后练习整理 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 5.3.2 · 纸书第216页查看完整题目与详解