一、创建型模式(5种)
目标:解耦对象创建过程,提升系统灵活性
模式名称 | 核心思想 | 典型场景 | 自动驾驶应用示例 |
---|---|---|---|
工厂方法 | 子类决定实例化对象类型 | 日志系统、数据库连接器 | 创建激光雷达/摄像头等传感器实例 |
抽象工厂 | 创建相关对象家族 | GUI组件库、跨平台系统 | 生产整套自动驾驶硬件组件(感知+决策+控制) |
建造者 | 分步构建复杂对象 | XML解析器、复杂配置对象 | 构建自动驾驶车辆配置(传感器布局+算法参数) |
原型 | 克隆对象替代新建 | 对象初始化成本高的场景 | 复制障碍物模板、克隆点云聚类实例 |
单例 | 确保全局唯一实例 | 配置管理、线程池 | 自动驾驶全局状态管理器(如高精地图加载器) |
二、结构型模式(7种)
目标:优化类与对象的结构组合
模式名称 | 核心思想 | 典型场景 | 自动驾驶应用示例 |
---|---|---|---|
适配器 | 转换接口兼容性 | 旧系统集成、第三方库封装 | 兼容不同厂商的传感器数据格式 |
桥接 | 分离抽象与实现 | 跨平台渲染引擎 | 解耦自动驾驶算法与硬件执行平台 |
组合 | 树形结构处理整体-部分关系 | 文件系统、UI容器 | 构建感知模块的层次化处理流程 |
装饰器 | 动态添加功能 | I/O流增强、权限系统 | 为传感器数据添加加密/压缩处理层 |
外观 | 简化复杂子系统接口 | API网关、框架入口 | 提供自动驾驶系统的统一控制接口 |
享元 | 共享细粒度对象 | 文本编辑器字符对象 | 交通标志实例共享(相同 |