摘要: 要理解设计模式中的模板方法模式,我们可以从其核心思想入手:定义一个算法的骨架(模板),将算法中某些步骤的具体实现延迟到子类中,使得子类可以在不改变算法整体结构的情况下,重写特定步骤的实现。它的本质是“固定流程、灵活细节”,通过抽象父类把控整体逻辑,子类专注于个性化实现。 一、模板方法模式的核心角色 阅读全文
posted @ 2025-11-05 10:21 fishyy 阅读(3) 评论(0) 推荐(0)
摘要: 要理解设计模式中的状态模式,我们可以从其核心思想入手:允许对象在内部状态改变时自动改变其行为,使对象看起来好像修改了它的类。它的本质是将对象的状态封装为独立的状态类,通过状态的切换来控制对象的行为,从而避免大量的条件判断语句(如if-else或switch-case)。 一、状态模式的核心角色 状态 阅读全文
posted @ 2025-11-05 10:08 fishyy 阅读(2) 评论(0) 推荐(0)
摘要: 23种GoF(Gang of Four)设计模式可以分为三大类:创建型、结构型和行为型。 以下是这24种(核心为23种)设计模式的详细分类与介绍: 一、 创建型模式 (Creational Patterns) 关注对象的创建过程,帮助系统独立于对象的创建、组合和表示方式。 工厂方法模式 (Facto 阅读全文
posted @ 2025-11-05 10:01 fishyy 阅读(11) 评论(0) 推荐(0)
摘要: 要理解设计模式中的原型模式,我们可以从其核心思想入手:通过复制(克隆)一个已存在的对象(原型)来创建新对象,而非通过构造方法重新初始化。它的本质是利用对象的自我复制能力,简化相似对象的创建过程,尤其适合创建成本高(如初始化步骤复杂、依赖外部资源)或需要频繁创建的场景。 一、原型模式的核心角色 原型模 阅读全文
posted @ 2025-11-05 09:55 fishyy 阅读(2) 评论(0) 推荐(0)
摘要: 要理解设计模式中的观察者模式,我们可以从其核心思想入手:定义对象间的一对多依赖关系,当一个对象(主题)的状态发生改变时,所有依赖它的对象(观察者)都会自动收到通知并更新。它的本质是解耦“被观察的主题”和“观察的对象”,让两者可以独立变化,同时确保状态变化能被及时感知。 一、观察者模式的核心角色 观察 阅读全文
posted @ 2025-11-05 09:40 fishyy 阅读(11) 评论(0) 推荐(0)
摘要: 要理解设计模式中的享元模式,我们可以从其核心思想入手:通过共享技术复用大量相似对象,从而减少内存消耗和对象创建成本。它的本质是分离对象的“内部状态”(可共享、不变的部分)和“外部状态”(不可共享、随场景变化的部分),让相似对象共享内部状态,仅通过外部状态区分差异。 一、享元模式的核心角色 享元模式包 阅读全文
posted @ 2025-11-05 09:32 fishyy 阅读(5) 评论(0) 推荐(0)
摘要: 要理解设计模式中的命令模式,我们可以从其核心思想入手:将请求封装为一个对象,从而实现请求的参数化、排队、日志记录或撤销等功能。它本质上是通过“命令对象”作为中间层,解耦了“请求的发送者”和“请求的执行者”。 一、命令模式的核心角色 命令模式包含5个核心角色,各自职责如下: 角色 职责描述 命令接口( 阅读全文
posted @ 2025-11-05 09:29 fishyy 阅读(0) 评论(0) 推荐(0)