Day33【概念解析】桥接模式
行业概念

Day33【概念解析】桥接模式

· 约 1,007 字 · 阅读约 6 分钟
目录

整理定义

中文名称:桥接模式

英文名称:bridge pattern

复述展开

What is bridge pattern?

桥接模式是一种结构型对象设计模式,它可以将类的抽象部分与实现部分分离,使两者可以独立变化。

桥接模式通过组合的方式将两个类进行结合,使两者进行解耦。

桥接模式的重点:

  • 抽象部分:经过抽象化,忽略某些信息,将不同的实体当作同一个对待;面向对象中将对象的共同性质抽取出来,形成类的过程给你,就是抽象化过程。

  • 实现部分:对于具体实现的部分,也要进行实现化,针对抽象化,给出具体实现;这个过程就是实现过程,过程的产出就是具体实现部分,具体实现部分产生的对象,比抽象产生的更具体,使对抽象化事物的具体化产物。

桥接模式结构

image

  1. 抽象部分 (Abstraction) 提供高层控制逻辑, 依赖于完成底层实际工作的实现对象。

  2. 实现部分 (Implementation) 为所有具体实现声明通用接口。 抽象部分仅能通过在这里声明的方法与实现对象交互。 抽象部分可以列出和实现部分一样的方法, 但是抽象部分通常声明一些复杂行为, 这些行为依赖于多种由实现部分声明的原语操作。

  3. 具体实现 (Concrete Implementations) 中包括特定于平台的代码。

  4. 精确抽象 (Refined Abstraction) 提供控制逻辑的变体。 与其父类一样, 它们通过通用实现接口与不同的实现进行交互。

  5. 通常情况下, 客户端 (Client) 仅关心如何与抽象部分合作。 但是, 客户端需要将抽象对象与一个实现对象连接起来。

桥接模式优缺点

优点:

  • 你可以创建与平台无关的类和程序。

  • 客户端代码仅与高层抽象部分进行互动, 不会接触到平台的详细信息。

  • 开闭原则。 你可以新增抽象部分和实现部分, 且它们之间不会相互影响。

  • 单一职责原则。 抽象部分专注于处理高层逻辑, 实现部分处理平台细节。

缺点:

  • 对高内聚的类使用该模式可能会让代码更加复杂。

理解体会

理解桥接模式,就是需要将抽象与实现进行解耦,通过组合的方式在抽象与实现之间构建一个桥梁,使之进行连接。

桥接模式一个典型的例子就是,需要在不同的操作系统,例如Mac,Win,Android,iOS;开发支持播放格式有 MP4,AVA,RMVN,FLV等的播放器,这种情况就可以使用桥接模式。

相关文章