持续打卡,稳步上岸!欢迎锁定软考系统架构师每日精讲,每天 1 组必考口诀 + 深度解析 + 真题自测,吃透高频考点,轻松冲刺高分!
一、今日 10 句必考口诀(直击设计模式核心)
单例唯一实例存,全局访问省内存 工厂分工造对象,简单抽象方法三型分 建造分步构复杂,参数多样自由拼 原型克隆复制快,重复对象省创建 适配器转接口异,兼容旧系不用更 装饰动态加功能,多层包装无侵入 代理控制访问权,真实对象做代办 观察者一对多,状态变动自动知 策略封装多算法,动态替换灵活换 模板固定骨架定,子类实现细节分
二、口诀逐句深度解析(架构师必考理解点)
1. 单例模式
保证一个类仅有一个实例,提供全局唯一访问入口,减少对象创建、节省内存资源。常应用在配置类、连接池、日志工具类,软考重点考查:饿汉式(线程安全、类加载初始化)、懒汉式(延迟加载、需加锁保安全)。
2. 工厂模式
核心是解耦对象创建与使用,分为三类:简单工厂(单一工厂造多对象)、抽象工厂(造产品族、适配多系列产品)、工厂方法(一个工厂对应一个产品),是架构分层、模块解耦的基础模式。
3. 建造者模式
针对复杂多参数对象,分步构建对象,支持不同参数组合生成不同实例,解决构造方法参数过多、参数顺序混乱问题,常用于复杂实体、请求参数、系统配置构建。
4. 原型模式
通过克隆已有对象创建新对象,无需重复执行构造方法,对象创建效率极高,适合大量相似对象、初始化耗时久的场景(如系统模板、审批流程模板)。
5. 适配器模式
俗称 “转换器”,将不兼容的接口转换为目标接口,兼容老旧系统、第三方接口,无需修改原有代码,符合开闭原则,是系统迭代、异构系统对接常用模式。
6. 装饰器模式
动态、无侵入地为对象新增功能,支持多层功能叠加,区别于继承的静态扩展,灵活度更高。典型场景:权限校验、日志记录、参数加密多层增强。
7. 代理模式
通过代理对象控制真实对象的访问,可实现权限控制、延迟加载、日志记录、流量管控。常见分类:静态代理、动态代理,是微服务网关、远程调用的底层思想。
8. 观察者模式
实现一对多消息联动,主题状态变更后,自动通知所有订阅观察者,解耦发布与订阅。常用于消息推送、事件监听、系统状态同步,是分布式事件驱动架构核心。
9. 策略模式
将多种业务算法、规则独立封装,可根据场景动态替换算法,避免大量 if-else 分支代码,提升代码可维护性,适用于计费规则、排序算法、权限校验规则切换。
10. 模板方法模式
定义算法固定骨架流程,将可变细节交由子类实现,统一业务执行流程,同时保留扩展能力,符合复用原则,常用于审批流程、任务调度、数据解析通用流程。
三、历年高频真题(单选 + 答案解析)
(2024 年真题) 某系统需要保证配置类全局唯一,且项目启动时直接初始化,线程绝对安全,优先使用( )
A. 懒汉式单例
B. 饿汉式单例
C. 原型模式
D. 工厂模式
答案:B
** 解析:**
饿汉式单例在类加载阶段完成实例初始化,无线程安全问题,满足全局唯一、启动即加载的配置类场景;懒汉式为延迟加载,需处理线程并发问题。
(2023 年真题) 系统需要对接多个第三方异构接口,原有业务代码无需修改,仅通过中间层转换接口适配,应采用( )
A. 装饰模式
B. 适配器模式
C. 代理模式
D. 观察者模式
答案:B
** 解析:** 适配器模式核心作用是接口兼容转换,适配异构系统、第三方接口,不改动原有核心业务代码,完全契合题干场景。
(2022 年真题) 针对业务中多种计费规则,需动态切换、避免大量分支判断,最优设计模式是( )
A. 策略模式
B. 模板模式
C. 建造者模式
D. 原型模式
答案:A
** 解析:** 策略模式专门封装多套算法规则,支持动态替换,彻底消除 if-else 冗余代码,是多规则动态切换的标准解决方案。
四、今日 10 道自测填空(可直接默写巩固)
保证类仅有一个实例的设计模式是________。 工厂模式分为简单工厂、工厂方法、________三类。 分步构建复杂对象、支持参数自由组合的是________模式。 通过克隆对象快速创建实例的模式是________。 异构接口兼容适配优先使用________模式。 动态无侵入新增对象功能的是________模式。 控制对象访问权限、实现代办功能的是________模式。 实现一对多事件通知的核心模式是________。 解决多算法动态切换、消除分支代码的是________模式。 固定业务骨架、子类实现细节的是________模式。
自测答案(下滑核对)
单例模式 抽象工厂 建造者 原型模式 适配器 装饰器 代理 观察者模式 策略模式 模板方法
夜雨聆风