首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
设计模式
AronTing
创建于2025-04-17
订阅专栏
万丈高楼平地起,师傅竟是我自己
等 4 人订阅
共25篇文章
创建于2025-04-17
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
抽象工厂模式:创建产品族的设计模式
抽象工厂模式:创建产品族的设计模式 一、模式核心:统一创建相关产品族,解耦复杂对象组合 在软件开发中,当需要创建一组相关或依赖的对象(如 “汽车工厂” 同时生产 “发动机” 和 “轮胎”),且不同产品
工厂模式:解耦对象创建与使用的设计模式
工厂模式:解耦对象创建与使用的设计模式 一、模式核心:封装对象创建逻辑,客户端无需关心具体实现 在软件开发中,当创建对象的逻辑复杂或频繁变化时,直接在客户端代码中 new 对象会导致耦合度高、难以维护
解释器模式:自定义语言解析与执行的设计模式
解释器模式:自定义语言解析与执行的设计模式 一、模式核心:定义语言文法并实现解释器处理句子 在软件开发中,当需要处理特定领域的语言(如数学表达式、正则表达式、自定义配置语言)时,可以通过解释器模式定义
访问者模式:分离数据结构与操作的设计模式
访问者模式:分离数据结构与操作的设计模式 一、模式核心:将操作从数据结构中分离,支持动态添加新操作 在软件开发中,当数据结构(如树、集合)中的元素类型固定,但需要频繁添加新的操作(如遍历、统计、打印)
中介者模式:解耦对象间复杂交互的设计模式
中介者模式:解耦对象间复杂交互的设计模式 一、模式核心:用中介者统一管理对象交互,避免两两直接依赖 当系统中多个对象之间存在复杂的网状交互时(如 GUI 界面中按钮、文本框、下拉框的联动),对象间直接
备忘录模式:实现对象状态撤销与恢复的设计模式
备忘录模式:实现对象状态撤销与恢复的设计模式 一、模式核心:在不破坏封装性的前提下保存和恢复对象状态 在软件开发中,经常需要实现 “撤销” 功能(如文本编辑器的撤销修改、游戏存档读取)。直接暴露对象内
外观模式:简化复杂系统接口的设计模式
外观模式:简化复杂系统接口的设计模式 一、模式核心:为复杂子系统提供统一简单接口 当一个系统由多个复杂子系统组成时(如电商系统中的支付、物流、库存模块),客户端直接调用子系统会导致依赖关系复杂、代码难
建造者模式:分步构建复杂对象的设计模式
建造者模式:分步构建复杂对象的设计模式 一、模式核心:分离对象构建与表示,支持复杂对象分步创建 在软件开发中,当创建一个复杂对象(如配置对象、组合对象)需要多个步骤(如属性设置、子对象初始化)时,直接
单例模式:确保唯一实例的设计模式
单例模式:确保唯一实例的设计模式 一、模式核心:保证类仅有一个实例并提供全局访问点 在软件开发中,有些类需要确保只有一个实例(如系统配置类、日志管理器),避免因多个实例导致状态混乱或资源浪费。 单例模
迭代器模式:统一数据遍历方式的设计模式
迭代器模式:统一数据遍历方式的设计模式 一、模式核心:将数据遍历逻辑与数据结构解耦 在软件开发中,不同的数据结构(如数组、链表、集合)有不同的遍历方式。如果客户端直接依赖这些数据结构的内部实现来遍历元
模板方法模式:定义算法骨架的设计模式
模板方法模式:定义算法骨架的设计模式 一、模式核心:模板方法定义算法骨架,具体步骤延迟到子类实现 在软件开发中,经常会遇到这样的情况:某个算法的步骤是固定的,但具体步骤的实现可能因不同情况而有所不同。
策略模式:动态切换算法的设计智慧
策略模式:动态切换算法的设计智慧 一、模式核心:定义一系列算法并可相互替换 在软件开发中,常常会遇到需要根据不同情况选择不同算法的场景。例如,在电商系统中,根据不同的促销活动(如满减、折扣、赠品)来计
代理模式:控制对象访问的中间层设计
代理模式:控制对象访问的中间层设计 一、模式核心:通过代理对象控制对目标对象的访问 在软件开发中,有时需要为对象添加一个 “代理” 来控制对它的访问,例如: 远程代理:访问远程对象时(如 RPC 调用
桥接模式:分离抽象与实现的独立进化
桥接模式:分离抽象与实现的独立进化 一、模式核心:解耦抽象与实现的多层变化 在软件设计中,当抽象(如 “手机品牌”)和实现(如 “操作系统”)都可能独立变化时,使用多层继承会导致类爆炸(如品牌 × 系
适配器模式:化解接口不兼容的桥梁设计
适配器模式:化解接口不兼容的桥梁设计 一、模式核心:让不兼容的接口协同工作 在软件开发中,经常会遇到接口不兼容的情况:如旧系统提供的接口无法被新系统直接调用,或第三方库的接口与当前系统设计不匹配。适配
装饰模式:动态扩展对象功能的优雅设计
装饰模式:动态扩展对象功能的优雅设计 一、模式核心:不修改原类,动态添加功能 在软件开发中,我们经常需要为现有对象添加新功能(如给 “文本框” 添加 “验证功能”“日志功能”),但直接修改原类会违反开
迭代器模式:统一不同数据结构的遍历方式
迭代器模式:统一不同数据结构的遍历方式 一、模式核心:分离数据遍历与数据表示 在开发中,我们经常需要遍历不同的数据结构,如数组、链表、树等。若在客户端代码中直接编写遍历逻辑,不仅会导致代码冗余,而且当
命令模式:从撤销操作到分布式调度的命令封装实践
命令模式:从撤销操作到分布式调度的命令封装实践 一、模式核心:将请求封装为可操作的 “命令对象” 在文本编辑器中,“撤销” 功能需要记录每一步操作;在分布式系统中,远程调用需要将请求序列化为可传输的对
责任链模式:从 Sentinel 流控到审批流程的链式处理
责任链模式:从 Sentinel 流控到审批流程的链式处理 一、模式核心:让请求在链条中自由流转 在企业审批系统中,员工请假需依次经过直属领导、部门经理、总经理审批;在流量控制场景中,请求需依次经过阈
状态模式:有限状态机在电商订单系统中的设计与实现
状态模式:有限状态机在电商订单系统中的设计与实现 一、模式核心:用状态切换驱动行为变化 在电商订单系统中,订单状态会随着用户操作动态变化:「已创建」的订单支付后变为「已支付」,发货后变为「已发货」,不
下一页