题库系统集成项目管理工程师

系统集成项目管理工程师 · 第三版 · 第5章 软件工程

迪米特原则为什么与低耦合一致?

12 道章节练习题
单选题5.3 软件设计7 / 12

在常用的OOD原则中,()原则要求一个对象应当对其他对象有尽可能少的了解,该原则与结构化设计的()原则是一致的。

选择答案
未作答
答案与解析

正确答案 C

“对其他对象有尽可能少的了解”就是迪米特原则,也叫最少知识法则。知道的内部细节少,依赖便不容易扩散,对应低耦合,选C。

注意这道题有两个空,不能只凭后一空排除选项。B也写了低耦合,但组合重用回答的是怎样复用已有能力,不是对象应该了解多少外部细节。例如订单只需请求配送服务安排发货,不必先取得仓库内部的货架对象,再操作货架里的库存对象。减少这种层层深入的依赖,内部结构调整时,订单就不容易被牵连。最少知识并非完全禁止对象合作,而是通过必要、清晰的接口合作。高内聚则看一个类或模块内部的职责是否紧密相关,两者关注的边界不同。

选项分析

A
单职原则关注一个类引起变化的原因,高内聚关注内部职责,不能解释题干对其他对象的了解程度。
B
后一空符合目标,但组合重用强调优先通过组合复用能力,不是最少知识法则的名称。
C
前一空对上原则定义,后一空说明减少类间依赖的目的,两处都成立。
D
开闭原则关注对扩展开放、对修改封闭,高内聚也不是题干强调的对象之间的关系。

容易混淆的地方

看到“相对独立”就泛泛地选高内聚,没有分清类内部的职责与类之间的依赖。

再巩固一步

  • 遇到两个空,分别核对定义和目的。迪米特看对外知道多少,单职看自身为什么变化。
课后练习整理 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 5.3.2 · 纸书第216页

练习小结

题目纠错

未发送。正式接收渠道尚未接通。

查看纠错信息