type
status
date
slug
summary
tags
category
icon
password
整理定义
中文名称:桥接模式
英文名称:bridge pattern
出处 | 定义 |
中国大百科全书 | 将类的抽象部分和它的实现部分分离,使它们可以相互独立地变化的一种设计模式。 |
设计模式 | 桥接模式是一种结构型设计模式, 可将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构, 从而能在开发时分别使用。 |
百度百科 | 桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。 它是一种对象结构型模式,又称为柄体 (Handle and Body)模式或接口 (interface)模式。 |
维基百科 | The bridge pattern is a design pattern used in software engineering that is meant to "decouple an abstraction from its implementation so that the two can vary independently", introduced by the Gang of Four.[1] The bridge uses encapsulation, aggregation, and can use inheritance to separate responsibilities into different classes.
【桥接模式是软件工程中使用的一种设计模式,旨在“将抽象与其实现分离,以便两者可以独立变化”,由四人帮引入。该桥使用封装、聚合,并且可以使用继承将职责分离到不同的类中。】 |
复述展开
What is bridge pattern?
桥接模式是一种结构型对象设计模式,它可以将类的抽象部分与实现部分分离,使两者可以独立变化。
桥接模式通过组合的方式将两个类进行结合,使两者进行解耦。
桥接模式的重点:
- 抽象部分:经过抽象化,忽略某些信息,将不同的实体当作同一个对待;面向对象中将对象的共同性质抽取出来,形成类的过程给你,就是抽象化过程。
- 实现部分:对于具体实现的部分,也要进行实现化,针对抽象化,给出具体实现;这个过程就是实现过程,过程的产出就是具体实现部分,具体实现部分产生的对象,比抽象产生的更具体,使对抽象化事物的具体化产物。
桥接模式结构
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fdea38628-64dc-40fd-8d17-2efa87e3d554%2F6704dc2f-ad2e-4144-b1c4-468a23753ec8%2FUntitled.png?table=block&id=d717c471-fbe7-4d14-8e43-eb3c6b1e8dc6&t=d717c471-fbe7-4d14-8e43-eb3c6b1e8dc6&width=560&cache=v2)
- 抽象部分 (Abstraction) 提供高层控制逻辑, 依赖于完成底层实际工作的实现对象。
- 实现部分 (Implementation) 为所有具体实现声明通用接口。 抽象部分仅能通过在这里声明的方法与实现对象交互。 抽象部分可以列出和实现部分一样的方法, 但是抽象部分通常声明一些复杂行为, 这些行为依赖于多种由实现部分声明的原语操作。
- 具体实现 (Concrete Implementations) 中包括特定于平台的代码。
- 精确抽象 (Refined Abstraction) 提供控制逻辑的变体。 与其父类一样, 它们通过通用实现接口与不同的实现进行交互。
- 通常情况下, 客户端 (Client) 仅关心如何与抽象部分合作。 但是, 客户端需要将抽象对象与一个实现对象连接起来。
桥接模式优缺点
优点:
- 你可以创建与平台无关的类和程序。
- 客户端代码仅与高层抽象部分进行互动, 不会接触到平台的详细信息。
- 开闭原则。 你可以新增抽象部分和实现部分, 且它们之间不会相互影响。
- 单一职责原则。 抽象部分专注于处理高层逻辑, 实现部分处理平台细节。
缺点:
- 对高内聚的类使用该模式可能会让代码更加复杂。
理解体会
理解桥接模式,就是需要将抽象与实现进行解耦,通过组合的方式在抽象与实现之间构建一个桥梁,使之进行连接。
桥接模式一个典型的例子就是,需要在不同的操作系统,例如Mac,Win,Android,iOS;开发支持播放格式有 MP4,AVA,RMVN,FLV等的播放器,这种情况就可以使用桥接模式。
快速跳转链接
【概念解析】启动
【概念解析】Day 1 - 10
【概念解析】Day 11 - 20
【概念解析】Day 21 - 30
【概念解析】Day 31 - 40
【概念解析】Day 41 - 50
【概念解析】Day 51 - 60
【概念解析】Day 61 - 70
【概念解析】Day 71 - 80
【概念解析】Day 81 - 90
- 作者:eachenkuang
- 链接:https://kuangyichen.com/article/industry-day33
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。