Day33【概念解析】桥接模式
目录 ▼
整理定义
中文名称:桥接模式
英文名称:bridge pattern
复述展开
What is bridge pattern?
桥接模式是一种结构型对象设计模式,它可以将类的抽象部分与实现部分分离,使两者可以独立变化。
桥接模式通过组合的方式将两个类进行结合,使两者进行解耦。
桥接模式的重点:
-
抽象部分:经过抽象化,忽略某些信息,将不同的实体当作同一个对待;面向对象中将对象的共同性质抽取出来,形成类的过程给你,就是抽象化过程。
-
实现部分:对于具体实现的部分,也要进行实现化,针对抽象化,给出具体实现;这个过程就是实现过程,过程的产出就是具体实现部分,具体实现部分产生的对象,比抽象产生的更具体,使对抽象化事物的具体化产物。
桥接模式结构

-
抽象部分 (Abstraction) 提供高层控制逻辑, 依赖于完成底层实际工作的实现对象。
-
实现部分 (Implementation) 为所有具体实现声明通用接口。 抽象部分仅能通过在这里声明的方法与实现对象交互。 抽象部分可以列出和实现部分一样的方法, 但是抽象部分通常声明一些复杂行为, 这些行为依赖于多种由实现部分声明的原语操作。
-
具体实现 (Concrete Implementations) 中包括特定于平台的代码。
-
精确抽象 (Refined Abstraction) 提供控制逻辑的变体。 与其父类一样, 它们通过通用实现接口与不同的实现进行交互。
-
通常情况下, 客户端 (Client) 仅关心如何与抽象部分合作。 但是, 客户端需要将抽象对象与一个实现对象连接起来。
桥接模式优缺点
优点:
-
你可以创建与平台无关的类和程序。
-
客户端代码仅与高层抽象部分进行互动, 不会接触到平台的详细信息。
-
开闭原则。 你可以新增抽象部分和实现部分, 且它们之间不会相互影响。
-
单一职责原则。 抽象部分专注于处理高层逻辑, 实现部分处理平台细节。
缺点:
- 对高内聚的类使用该模式可能会让代码更加复杂。
理解体会
理解桥接模式,就是需要将抽象与实现进行解耦,通过组合的方式在抽象与实现之间构建一个桥梁,使之进行连接。
桥接模式一个典型的例子就是,需要在不同的操作系统,例如Mac,Win,Android,iOS;开发支持播放格式有 MP4,AVA,RMVN,FLV等的播放器,这种情况就可以使用桥接模式。