23种设计模式速记法

前言

在软件开发的过程中,设计模式作为解决常见问题的通用模板,一直是开发者的重要工具。尤其是在面临复杂系统架构和需求变化时,设计模式不仅能够提升代码的可复用性和扩展性,还能大大提高团队之间的协作效率。然而,对于许多开发者来说,掌握所有设计模式的细节往往需要投入大量的时间和精力。本文将介绍23种设计模式的速记方法:

一、创建型

这类模式关注如何创建对象,减少直接创建对象的复杂性。

速记口诀:抽工单建原

抽象工厂、工厂方法、单例模式、建造者模式、原型模式

记忆技巧

  1. 单例模式 (Singleton)

记忆技巧:单个实例,"Sing"歌手的舞台只有一个人。

  1. 工厂方法模式 (Factory Method)

记忆技巧:就像工厂生产产品一样,你通过一个工厂方法来创建对象。

  1. 抽象工厂模式 (Abstract Factory)

记忆技巧:这不仅仅是一个工厂,而是可以生产不同产品的工厂(多个工厂实例)。

  1. 建造者模式 (Builder)

记忆技巧:建造一个复杂对象,就像建造一个大楼,需要一个专业的建造者。

  1. 原型模式 (Prototype)

记忆技巧:通过复制现有对象来创建新的对象,像是"原型"复制品。

二、结构型

这些模式关注如何将类和对象组合成更大的结构。

速记口诀:桥代理组装适配器,享元回家装饰外观

桥接模式、代理模式、组合模式、适配器模式、享元模式、装饰器模式、外观模式

记忆技巧

  1. 适配器模式 (Adapter)

记忆技巧:就像插头转换器,适配器模式使不同系统之间可以"适配"工作。

  1. 桥接模式 (Bridge)

记忆技巧:桥接模式通过提供一个"桥"来解耦接口和实现,像搭建一座桥梁。

  1. 组合模式 (Composite)

记忆技巧:就像树的分支一样,组合模式使得你可以把多个对象组合成一个整体。

  1. 装饰者模式 (Decorator)

记忆技巧:装饰者可以动态地给对象增加功能,像给礼物加上漂亮的包装。

  1. 外观模式 (Facade)

记忆技巧:外观模式提供了一个统一的接口,就像建筑物的正面"外观"对外界提供了简洁的视图。

  1. 享元模式 (Flyweight)

记忆技巧:享元模式通过共享对象来节省内存,就像我们分享相同的模板。

  1. 代理模式 (Proxy)

记忆技巧:代理模式就像代理人一样,代表其他对象处理任务。

三、行为型

这些模式关注对象和类之间的交互。

速记口诀:访问者写好策略备忘录,观察模板迭代的状态,命令中介解释责任链

访问者模式、策略模式、备忘录模式、观察者模式、模板模式、迭代模式、状态模式、命令模式、解释器模式、责任链模式

  1. 责任链模式 (Chain of Responsibility)

记忆技巧:像接力赛一样,责任链模式传递任务给链条中的下一个处理者。

  1. 命令模式 (Command)

记忆技巧:命令模式就像一个遥控器,通过发送命令控制对象行为。

  1. 解释器模式 (Interpreter)

记忆技巧:解释器模式类似于翻译员,能够将一种语言转换成另一种语言。

  1. 迭代器模式 (Iterator)

记忆技巧:迭代器模式就像遍历一组对象的"工具"或"地图"。

  1. 中介者模式 (Mediator)

记忆技巧:中介者模式充当调解员,协调不同对象之间的交互。

  1. 备忘录模式 (Memento)

记忆技巧:备忘录模式类似于保存快照,你可以恢复对象的先前状态。

  1. 观察者模式 (Observer)

记忆技巧:观察者模式就像一个新闻广播,所有注册的观察者都会收到更新。

  1. 状态模式 (State)

记忆技巧:状态模式就像切换档位,基于不同状态来改变对象的行为。

  1. 策略模式 (Strategy)

    记忆技巧:策略模式就像一套不同的战术,可以根据情况选择不同策略。

  2. 模板方法模式 (Template Method)

    记忆技巧:模板方法模式就像烹饪食谱,固定的步骤可以由不同的子类实现。

  3. 问者模式 (Visitor)

    记忆技巧:访问者模式就像一个检查员,访问对象的不同部分并执行操作。

参考内容

相关推荐
Kel8 小时前
MCP 传输链路全链路拆解:从字节流到协议栈的四层架构之旅
人工智能·设计模式·架构
atunet11 小时前
关于算法设计模式的演化与编程范式变迁的技术7
算法·设计模式
geovindu17 小时前
go:Timing Functions Pattern
开发语言·后端·设计模式·golang·计时函数模式·性能分析模式
咖啡八杯2 天前
GoF设计模式——备忘录模式
java·后端·spring·设计模式
槑有老呆2 天前
从 Prompt Engineering 到 Harness Engineering:AI 编程的下一次跃迁
设计模式
HjhIron3 天前
从Prompt到Context:大模型应用开发的范式转移
设计模式·aigc·ai编程
咖啡八杯4 天前
GoF设计模式——中介者模式
java·后端·spring·设计模式
胡萝卜术5 天前
从“分数打架”到“排名投票”:为什么你的ChatBI必须用RRF?
算法·设计模式·面试
亦暖筑序6 天前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
青禾网络8 天前
Web 前端如何接入 AI 音效生成:从零到可用的完整方案
人工智能·设计模式