Bridge 模式是模式里面最难理解同时也是功能非常强大的一个模式, 下面我们就来谈一谈它的核心思想适用场合欢迎有兴趣的同行一起探讨补充。
设计模式一书中原话描述这一模式: 将抽象与其实现解耦,使它们可以独立的适应变化。
Bridge 模式要解决的问题是: 当一个抽象有不同实现的时候,它可以使抽象和实现相互独立的进行变化。
适用场合: 对业务逻辑进行分析找到变化的部分放在各自的抽象类中,在分析这些抽象类之间的关系,使其能够做到相互独立的类中包含变化,从而使未来发生变化的部分很小程度的或者不影响当前的代码。
简单理解该模式由一个抽象(包括其派生类)和一个实现组成。
![](http://dl.iteye.com/upload/attachment/501462/a140c962-ec68-36fb-925b-5f5ad3e8a158.bmp)
看一个具体一点的例子:
比如说常见的画图实现
![](http://dl.iteye.com/upload/attachment/501473/f47bc976-9237-3082-92e7-8644d57f18db.jpg)
public abstract class Shape {
protected AbstractDrawing myDrawing;
abstract public void draw();
Shape(AbstractDrawing drawing)
{
this.myDrawing = drawing;
}
protected void drawLine(double x1, double y1, double x2, double y2)
{
myDrawing.drawLine(x1, y1, x2, y2);
}
protected void drawCircle(double x, double y, double r)
{
myDrawing.drawCircle(x, y, r);
}
}
public abstract class AbstractDrawing {
abstract public void drawLine(double x1, double y1, double x2, double y2);
abstract public void drawCircle(double x, double y, double r);
}
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0050/3252/fbc7cda5-9170-3ac6-bb32-1c7f17a43290-thumb.png)
- 大小: 6.7 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0050/3254/b1040d32-3654-31f3-aa2c-e7eac02b2275-thumb.jpg)
- 大小: 52.6 KB
分享到:
相关推荐
设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题。这些模式是由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位大师,通常被称为GoF(Gang of Four),在他们的经典著作...
GoF(Gang of Four)所提出的23种设计模式,被认为是面向对象编程中最核心的设计原则之一。这些模式可以帮助开发者解决常见的编程问题,并提高代码的可复用性和可维护性。 #### 创建型模式 创建型模式关注的是对象...
2.1 Bridge模式........................................................................................................................33 2.2 Adapter模式...................................................
### 设计模式精解——GoF 23种设计模式解析及C++实现 #### 0. 引言 设计模式作为面向对象编程的核心组成部分,是软件开发者在长期实践中总结出来的最佳实践。通过深入理解这些设计模式,我们可以更好地进行面向...
根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...
GoF(Gang of Four)所提出的23种设计模式,被认为是面向对象编程中最核心的设计原则之一。这些模式可以帮助程序员解决常见的编程问题,并提高代码的可复用性和可维护性。 #### 创建型模式 创建型模式关注的是对象...
桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立进行变化。这种模式在软件工程中被广泛应用于处理组件之间的耦合问题,特别是当需要为同一抽象提供多种实现或者需要独立地改变它们时。 ...
设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。GoF(Gang of Four)23种设计模式是软件开发中的经典,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides...
### 设计模式精解——GoF 23种设计模式解析 #### 0. 引言 设计模式作为面向对象编程的重要组成部分,在软件工程领域扮演着至关重要的角色。本书《设计模式精解——GoF 23种设计模式解析》旨在深入浅出地介绍由...
在Java这样的静态类型语言中,通常不直接支持鸭子类型,但可以通过某些设计模式或库来模拟这种行为,提高代码的灵活性和可扩展性。 【标签】"开源项目" 指出这两个压缩包文件都是开源的,这意味着它们的源代码可以...
### 设计模式精解—GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式作为一种重要的面向对象设计工具,在软件开发中扮演着至关重要的角色。本文旨在深入解析GoF(Gang of Four,四人组)提出的23种设计...
【Laravel 开发与 Twig Bridge】\n\n在 Laravel 框架的开发过程中,`Twig Bridge` 是一个重要的组件,它为 Laravel 提供了对 `Twig` 模板引擎的支持。`Twig` 是一种流行的 PHP 模板语言,由 SensioLabs 创建,其设计...
AXI Bridge for PCI Express Gen3 Subsystem是一款专为FPGA设计的IP核,它提供了连接PCI Express(PCIe)Gen3接口与系统内部高级可扩展接口(AXI)总线的桥梁。该产品指南(PG194 v3.0)详细介绍了这款IP核的功能、...
《设计模式精解-GoF 23种设计模式解析c++.pdf》这份资料深入剖析了GoF(Gang of Four)所提出的23种设计模式,并提供了C++语言的具体实现,为读者提供了理论与实践相结合的学习路径。下面,我们将详细解读这份资料...
设计模式(16)-Bridge Pattern 设计模式(15)-Facade Pattern 设计模式(14)-Flyweight Pattern C#设计模式(13)-Proxy Pattern C#设计模式(12)-Decorator Pattern C#设计模式(11)-Composite Pattern ...
`axi-ahb-apb-bridge.rar`这个压缩包文件包含了关于这三种总线协议间转换接口的Verilog语言实现,这对于理解和设计SoC中的总线互连至关重要。 1. **AXI总线**:AXI是由ARM公司提出的高性能、高带宽的总线接口标准,...