结构型模式

结构型模式关注对象的组合,使用继承和接口来构建更大的结构。它们的主要目的是通过组合对象实现更大的功能,提高系统的灵活性和可维护性。以下是七种常见的结构型模式的概念和适用范围:

  1. 适配器模式(Adapter Pattern)

    • 概念:将一个类的接口转换为客户希望的另一个接口,使得原本接口不兼容的类可以一起工作。
    • 适用范围:希望使用一个已有的类,但其接口不符合需求的场景。
  2. 桥接模式(Bridge Pattern)

    • 概念:将抽象部分与它的实现部分分离,使它们可以独立变化。
    • 适用范围:希望在抽象和实现之间进行解耦,并且希望分别独立变化的场景。
  3. 组合模式(Composite Pattern)

    • 概念:将对象组合成树形结构以表示“部分-整体”的层次结构,使得客户可以一致地处理单个对象和组合对象。
    • 适用范围:需要表示对象的部分-整体层次结构,并且希望客户统一对待单个对象和组合对象的场景。
  4. 装饰器模式(Decorator Pattern)

    • 概念:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰器模式相比生成子类更为灵活。
    • 适用范围:希望在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责的场景。
  5. 外观模式(Facade Pattern)

    • 概念:为子系统中的一组接口提供一个一致的接口,使得子系统更容易使用。
    • 适用范围:希望为复杂的子系统提供一个简单的接口的场景。
  6. 享元模式(Flyweight Pattern)

    • 概念:运用共享技术有效地支持大量细粒度的对象。
    • 适用范围:需要创建大量相似对象,并且这些对象会占用大量内存的场景。
  7. 代理模式(Proxy Pattern)

    • 概念:为其他对象提供一种代理以控制对这个对象的访问。
    • 适用范围:需要控制对对象的访问,或者在访问对象时增加一些额外操作的场景。