跳至主要內容

设计模式应试要点

微信公众号:储凡大约 10 分钟

设计模式应试要点(下午高频)

下午常在 UML 类图 / 场景描述 中考 GoF 模式识别与选型23 种模式分类、每模式举例、三类快判UML与设计模式 §1.3;本文保留 阅卷检查表 + 易混排除 + 意图速扫,便于考前扫读。

一、下午拿分动作(检查表)

检查项做法
类图关系继承、实现、关联、聚合、组合分清;菱形实心=组合(同生共死)
多重度从题干「一名/多名/至少一个」抄到图上
用例关系<<include>> 必走<<extend>> 条件触发
模式名称教材标准英文名 + 典型角色类名,忌口语

高频失分:聚合/组合画反;策略 / 状态 / 模板方法 混淆;把外观当成适配器。

1.1 2017-2019 模式题样本

模式出题信号先背角色
Builder同样构建过程创建不同表示;复杂对象分步装配BuilderConcreteBuilderDirectorProduct
Bridge平台/格式等两个维度独立变化AbstractionRefinedAbstractionImplementor
State会员等级、订单状态等状态变化影响行为ContextStateConcreteState
Strategy算法族可替换,运行时选择具体策略ContextStrategyConcreteStrategy
Observer一个对象变化,多个对象自动收到通知SubjectObserverattach/detach/notify/update

这些不是押题,而是近年解析样本中的典型载体。复习时先确保它们能 看场景秒判 + 写出角色名


二、易混模式「一句话」

模式组考场分辨
策略 vs 状态策略:互换算法族;状态:对象内在状态变导致行为变
模板方法 vs 策略模板:骨架在父类、子类填钩子;策略:组合不同算法对象
适配器 vs 装饰器 vs 代理适配:接口不兼容转接;装饰:动态加职责;代理:控制访问
工厂三件套简单工厂(非 GoF 名)/工厂方法(子类决定产品)/抽象工厂(产品族)
外观子系统统一入口,不新增业务规则

三、GoF 23 种意图速扫(下午选项常见)

完整 举例 + 角色 + 题干关键词UML与设计模式 §1.3

创建型(5)一句话
Singleton全局唯一实例
Factory Method子类决定实例化哪一个产品类
Abstract Factory创建 一族 相关对象
Builder分步构造复杂对象
Prototype用克隆代替 new
结构型(7)一句话
Adapter把不兼容接口转成客户端期望
Bridge抽象与实现分离、两维扩展
Composite树形部分-整体一致对待
Decorator包装对象动态加职责
Facade对外统一简单接口
Flyweight共享细粒度对象
Proxy为对象提供替身以控制访问
行为型(11)一句话
Chain of Responsibility沿链传递请求直到被处理
Command请求封装为对象,可撤销/队列
Interpreter文法解释(上午概念多)
Iterator顺序访问聚合元素
Mediator多对象经中介通信
Memento捕获状态以便恢复
Observer一对多,主题变则通知
State状态对象改变行为
Strategy封装可互换算法
Template Method骨架固定、子类实现步骤
Visitor不改类结构下定义新操作

四、与上午选择题的联动

上午常考 模式意图、类图关系、内聚耦合。可与 软件工程与面向对象 一起过一遍 定义对比,不必重复背长篇教材。


相关