前言
在软件开发的过程中,设计模式作为解决常见问题的通用模板,一直是开发者的重要工具。尤其是在面临复杂系统架构和需求变化时,设计模式不仅能够提升代码的可复用性和扩展性,还能大大提高团队之间的协作效率。然而,对于许多开发者来说,掌握所有设计模式的细节往往需要投入大量的时间和精力。本文将介绍23种设计模式的速记方法:
一、创建型
这类模式关注如何创建对象,减少直接创建对象的复杂性。
速记口诀:抽工单建原
抽象工厂、工厂方法、单例模式、建造者模式、原型模式
记忆技巧
- 单例模式 (Singleton)
记忆技巧:单个实例,"Sing"歌手的舞台只有一个人。
- 工厂方法模式 (Factory Method)
记忆技巧:就像工厂生产产品一样,你通过一个工厂方法来创建对象。
- 抽象工厂模式 (Abstract Factory)
记忆技巧:这不仅仅是一个工厂,而是可以生产不同产品的工厂(多个工厂实例)。
- 建造者模式 (Builder)
记忆技巧:建造一个复杂对象,就像建造一个大楼,需要一个专业的建造者。
- 原型模式 (Prototype)
记忆技巧:通过复制现有对象来创建新的对象,像是“原型”复制品。
二、结构型
这些模式关注如何将类和对象组合成更大的结构。
速记口诀:桥代理组装适配器,享元回家装饰外观
桥接模式、代理模式、组合模式、适配器模式、享元模式、装饰器模式、外观模式
记忆技巧
- 适配器模式 (Adapter)
记忆技巧:就像插头转换器,适配器模式使不同系统之间可以“适配”工作。
- 桥接模式 (Bridge)
记忆技巧:桥接模式通过提供一个“桥”来解耦接口和实现,像搭建一座桥梁。
- 组合模式 (Composite)
记忆技巧:就像树的分支一样,组合模式使得你可以把多个对象组合成一个整体。
- 装饰者模式 (Decorator)
记忆技巧:装饰者可以动态地给对象增加功能,像给礼物加上漂亮的包装。
- 外观模式 (Facade)
记忆技巧:外观模式提供了一个统一的接口,就像建筑物的正面“外观”对外界提供了简洁的视图。
- 享元模式 (Flyweight)
记忆技巧:享元模式通过共享对象来节省内存,就像我们分享相同的模板。
- 代理模式 (Proxy)
记忆技巧:代理模式就像代理人一样,代表其他对象处理任务。
三、行为型
这些模式关注对象和类之间的交互。
速记口诀:访问者写好策略备忘录,观察模板迭代的状态,命令中介解释责任链
访问者模式、策略模式、备忘录模式、观察者模式、模板模式、迭代模式、状态模式、命令模式、解释器模式、责任链模式
- 责任链模式 (Chain of Responsibility)
记忆技巧:像接力赛一样,责任链模式传递任务给链条中的下一个处理者。
- 命令模式 (Command)
记忆技巧:命令模式就像一个遥控器,通过发送命令控制对象行为。
- 解释器模式 (Interpreter)
记忆技巧:解释器模式类似于翻译员,能够将一种语言转换成另一种语言。
- 迭代器模式 (Iterator)
记忆技巧:迭代器模式就像遍历一组对象的“工具”或“地图”。
- 中介者模式 (Mediator)
记忆技巧:中介者模式充当调解员,协调不同对象之间的交互。
- 备忘录模式 (Memento)
记忆技巧:备忘录模式类似于保存快照,你可以恢复对象的先前状态。
- 观察者模式 (Observer)
记忆技巧:观察者模式就像一个新闻广播,所有注册的观察者都会收到更新。
- 状态模式 (State)
记忆技巧:状态模式就像切换档位,基于不同状态来改变对象的行为。
-
策略模式 (Strategy)
记忆技巧:策略模式就像一套不同的战术,可以根据情况选择不同策略。 -
模板方法模式 (Template Method)
记忆技巧:模板方法模式就像烹饪食谱,固定的步骤可以由不同的子类实现。 -
问者模式 (Visitor)
记忆技巧:访问者模式就像一个检查员,访问对象的不同部分并执行操作。
参考内容
- 图说设计模式
- 大话设计模式