软件设计师 · 易混考点 · 老师辨析

软件设计师易混考点怎么区分?

软件设计师很多题并不是完全不会,而是在两个相近概念之间摇摆。易混题的复习方法,不是把定义背得更长,而是把它们放在同一张对照表里。

软件设计师专题 软考题库编辑部 持续更新

易混题先看对象和动作

比如聚合和组合都表示整体与部分,但组合更强调强生命周期依赖;适配器和代理都像是在中间包一层,但适配器解决接口不匹配,代理控制访问;语句覆盖和判定覆盖都属于白盒测试,但覆盖强度不同。

老师讲这类题时,常用两个问题拆开:它处理的对象是什么?它主要动作是什么?对象和动作对上了,选项就不容易混。

易混点区分关键典型题眼
聚合 vs 组合生命周期依赖强弱部分能否脱离整体存在
适配器 vs 代理接口转换还是访问控制接口不匹配、权限控制
策略 vs 模板方法算法可替换还是算法骨架固定运行时切换、步骤由父类控制
语句覆盖 vs 判定覆盖执行语句还是覆盖分支结果每条语句、真假分支
WHERE vs HAVING分组前过滤还是分组后过滤GROUP BY、聚合函数

不要只背一个关键词

关键词能帮你定位方向,但不能替代判断。比如看到“通知”可能想到观察者模式,但还要看是不是一个对象变化后通知多个依赖对象;看到“工厂”也要区分简单工厂、工厂方法和抽象工厂。

考试选项有时会故意把关键词放进去,但场景不匹配。复习时要训练自己把“关键词 + 场景”一起看。

考前可以做一张自己的易混表

不要试图把所有概念都写进去,只写你自己真正会混的。比如你总分不清 include 和 extend,就专门写:include 是复用必然发生的公共行为,extend 是在条件下扩展基本用例。

这张表最好用自己的话写。能用自己的话讲出来,说明你已经从背定义走到会判断了。

相关题目解析

下面这些题目和本专题的判断方法关联较强,适合读完概念后回到具体题干里校验理解。