23种设计模式简介,口诀记忆

以下是每种设计模式的简要描述以及其常见应用场景:

创建型设计模式 (Creational Patterns)

模式描述应用场景
单例模式 (Singleton)保证一个类只有一个实例,并提供全局访问点。数据库连接池、线程池、日志记录、配置管理等需要唯一实例的情况。
工厂方法模式 (Factory Method)定义一个创建对象的接口,由子类实现具体的创建逻辑。库函数、框架扩展,以便用户可以扩展或修改现有类的行为。
抽象工厂模式 (Abstract Factory)提供一组相关或相互依赖的对象,而无需指定它们的具体类。GUI 库、跨平台应用开发,需要在不同平台下创建不同外观的组件。
建造者模式 (Builder)分解复杂对象的构建过程,允许以不同方式构建对象。创建复杂对象,例如文档、报表、商品、订单等。
原型模式 (Prototype)通过克隆现有对象来创建新对象,而不需要显式指定类。图形编辑器、克隆操作、原型管理器等需要复制对象的情况。

结构型设计模式 (Structural Patterns)

模式描述应用场景
适配器模式 (Adapter)将一个接口转换成另一个接口,使不兼容的接口能够一起工作。集成新的库或服务,使其与现有系统兼容,如数据库驱动适配器、API适配器等。
桥接模式 (Bridge)将抽象部分与实现部分分离,提高系统的灵活性。GUI 框架、操作系统 API、不同数据库引擎之间的交互等。
组合模式 (Composite)将对象组合成树状结构,表示部分-整体层次结构,统一处理单个对象和组合对象。图形界面中的界面元素、文件系统、组织结构、菜单、目录树等。
装饰器模式 (Decorator)动态地将责任附加到对象上,扩展其功能,而不修改其代码。增加对象功能、输出流的加密、图形界面中的外观和行为等。
外观模式 (Facade)提供简单的接口,隐藏复杂系统的子系统,使客户端更容易使用系统。复杂的库、框架或服务,为客户端提供简化的接口,如操作系统 API 包装。
代理模式 (Proxy)为其他对象提供代理,以控制对对象的访问,通常用于延迟加载、权限控制等。远程代理、虚拟代理、缓存代理、安全代理、监控代理等情况。
享元模式 (Flyweight)共享可复用对象,减少内存消耗,管理大量细粒度的对象。文字编辑器中的字符、图像编辑器中的像素、游戏中的角色等。

行为型设计模式 (Behavioral Patterns)

模式描述应用场景
策略模式 (Strategy)定义一系列算法,使其可以相互替换,独立于客户端的选择。排序算法、图像处理、支付策略、日程管理等,需要根据不同需求切换算法的情况。
观察者模式 (Observer)定义一对多的依赖关系,当一个对象状态改变,所有依赖它的对象都得到通知并自动更新。事件处理、邮件订阅、广播系统、GUI 组件的事件处理等。
命令模式 (Command)将请求或操作封装为一个对象,支持队列、撤销、日志记录等功能。遥控器、任务调度、事务处理、文档编辑器中的撤销功能等。
备忘录模式 (Memento)捕获对象内部状态,以后可以将对象恢复到先前的状态。文档编辑器中的撤销/恢复、游戏中的存档和恢复、历史记录等。
状态模式 (State)允许对象在内部状态改变时改变其行为,使对象看起来似乎修改了其类。状态机、自动售货机、游戏中的角色状态、多步骤表单处理等情况。
访问者模式 (Visitor)将操作封装到不同的访问者类中,以允许在不改变对象类的前提下增加新的操作。抽象语法树遍历、编译器设计、数据库查询优化等情况。
模板方法模式 (Template Method)定义算法的骨架,将某些步骤延迟到子类中实现,以使子类可以重新定义算法的某些部分。框架中的算法骨架、工作流程引擎

我为之前的错误口诀道歉。以下是包括所有23种设计模式的新口诀:

创建型设计模式:

“单原抽建工”

  • 单例模式 (Singleton)
  • 工厂方法模式 (Factory Method)
  • 抽象工厂模式 (Abstract Factory)
  • 建造者模式 (Builder)
  • 原型模式 (Prototype)

结构型设计模式:

“桥适组装享外代”

  • 适配器模式 (Adapter)
  • 桥接模式 (Bridge)
  • 组合模式 (Composite)
  • 装饰器模式 (Decorator)
  • 外观模式 (Facade)
  • 代理模式 (Proxy)
  • 享元模式 (Flyweight)

行为型设计模式:

“策观命备状访模,模访状备命观策责观”

  • 策略模式 (Strategy)
  • 观察者模式 (Observer)
  • 命令模式 (Command)
  • 备忘录模式 (Memento)
  • 状态模式 (State)
  • 访问者模式 (Visitor)
  • 模板方法模式 (Template Method)
  • 责任链模式 (Chain of Responsibility)

这个新的口诀包括了全部23种设计模式,希望它能更好地帮助您记忆。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值