23种设计模式详解

设计模式是一种可重复使用的解决方案,用于解决软件设计中反复出现的问题。它们提供了经过验证的最佳实践,可以提高代码的可读性、可维护性和可扩展性。

本文将介绍23种常用的设计模式,并将其分为三大类:创建型、结构型和行为型模式。

创建型模式

  1. 单例模式 (Singleton Pattern):确保一个类只有一个实例,并提供一个全局访问点。
  2. 工厂模式 (Factory Pattern):定义一个创建对象的接口,让子类决定实例化哪一个类。
  3. 抽象工厂模式 (Abstract Factory Pattern):提供一个创建一系列相关或依赖对象的接口。
  4. 建造者模式 (Builder Pattern):将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。
  5. 原型模式 (Prototype Pattern):使用原型实例指定创建对象的种类,并通过拷贝这些原型来创建新的对象。

结构型模式

  1. 适配器模式 (Adapter Pattern):将一个类的接口转换成客户希望的另一个接口。
  2. 桥接模式 (Bridge Pattern):将抽象部分与实现部分分离,使它们可以独立变化。
  3. 组合模式 (Composite Pattern):将对象组合成树形结构以表示“部分-整体”的层次结构。
  4. 装饰者模式 (Decorator Pattern):动态地给一个对象添加额外的职责。
  5. 外观模式 (Facade Pattern):为子系统提供一个统一的接口。
  6. 享元模式 (Flyweight Pattern):运用共享技术有效地支持大量细粒度的对象。
  7. 代理模式 (Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问。

行为型模式

  1. 观察者模式 (Observer Pattern):定义对象间的一种一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知。
  2. 迭代器模式 (Iterator Pattern):提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。
  3. 访问者模式 (Visitor Pattern):表示一个作用于某对象结构中的各个元素的操作。
  4. 策略模式 (Strategy Pattern):定义一系列算法,将每个算法封装起来,并使它们可以相互替换。
  5. 命令模式 (Command Pattern):将一个请求封装成一个对象。
  6. 职责链模式 (Chain of Responsibility Pattern):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。
  7. 状态模式 (State Pattern):允许一个对象在其内部状态改变时改变它的行为。
  8. 模板方法模式 (Template Method Pattern):定义一个算法的骨架,而将一些步骤延迟到子类中。
  9. 解释器模式 (Interpreter Pattern):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
  10. 中介者模式 (Mediator Pattern):定义一个对象来封装一系列对象之间的交互。
  11. 备忘录模式 (Memento Pattern):在不破坏封装性的前提下,捕获并外部化一个对象的内部状态。
23种设计模式详解:从单例到备忘录

原文地址: https://www.cveoy.top/t/topic/mIAW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录