23种设计模式的简要总结

设计模式是一种通用的解决方案,用于解决软件设计中常见的问题。这些设计模式可以帮助开发人员在设计和开发过程中遵循一些最佳实践,提高代码的可重用性、可维护性和灵活性。下面是23种常见的设计模式的概述:

创建型模式(Creational Patterns):

  1. 简单工厂模式(Simple Factory Pattern):通过一个工厂类来创建不同类型的对象,隐藏了对象的创建逻辑。
  2. 工厂方法模式(Factory Method Pattern):定义一个创建对象的接口,但具体的对象创建由子类决定,将对象的创建延迟到子类中。
  3. 抽象工厂模式(Abstract Factory Pattern):提供一个接口,用于创建相关或依赖对象的家族,而不需要指定具体类。
  4. 单例模式(Singleton Pattern):确保一个类只有一个实例,并提供全局访问点来获取该实例。
  5. 原型模式(Prototype Pattern):通过复制现有对象来创建新对象,避免了使用常规的实例化方式。
  6. 建造者模式(Builder Pattern):将一个复杂对象的构建过程与其表示分离,以便可以使用相同的构建过程创建不同的表示。

结构型模式(Structural Patterns):

  1. 适配器模式(Adapter Pattern):将一个类的接口转换成客户端所期望的另一个接口。
  2. 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们可以独立地变化。
  3. 组合模式(Composite Pattern):将对象组合成树形结构,以表示"部分-整体"的层次结构。
  4. 装饰器模式(Decorator Pattern):动态地给对象添加额外的职责,同时又不改变其结构。
  5. 外观模式(Facade Pattern):为复杂系统提供一个简化的接口。
  6. 享元模式(Flyweight Pattern):通过共享尽可能多的对象来减少内存使用和对象创建的开销。
  7. 代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问。

行为型模式(Behavioral Patterns):

  1. 责任链模式(Chain of Responsibility Pattern):将请求的发送者和接收者解耦,通过一条链传递请求,直到有对象处理它。
  2. 命令模式(Command Pattern):将请求封装为一个对象,从而可以使用不同的请求参数化其他对象,并支持请求的排队和日志记录。
  3. 解释器模式(Interpreter Pattern):定义一个语言的文法,并解析相应语法的
  4. 迭代器模式(Iterator Pattern):提供一种顺序访问聚合对象中各个元素的方法,而不暴露其内部实现。
  5. 中介者模式(Mediator Pattern):通过一个中介对象来封装一系列对象之间的交互,使其耦合松散,易于维护。
  6. 备忘录模式(Memento Pattern):在不破坏封装性的前提下,捕获对象的内部状态,并在对象之外保存这个状态,以后可以恢复到原先保存的状态。
  7. 观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象改变状态时,其依赖对象都会得到通知并自动更新。
  8. 状态模式(State Pattern):允许对象在内部状态改变时改变它的行为,对象看起来似乎修改了它的类。
  9. 策略模式(Strategy Pattern):定义一系列算法,将每个算法封装起来,并使它们可以互换。
  10. 模板方法模式(Template Method Pattern):定义一个算法的骨架,将一些步骤的实现延迟到子类中,以便子类可以重新定义算法的某些特定步骤。

这些设计模式提供了一些通用的解决方案,可以在软件开发中使用,以提高代码的可维护性、可扩展性和可重用性。它们可以根据不同的情况和需求来选择和应用,以帮助解决特定的设计问题。

你可能感兴趣的:(笔记,设计模式)