23种设计模式之桥接模式(Bridge)

简介: 23种设计模式之桥接模式(Bridge)桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。

23种设计模式之桥接模式(Bridge)

桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。桥接模式类似于多重继承方案,但是多重继承方案往往违背了类得单一职责原则,其复用性比较差,桥接模式是比多重继承方案更好的解决方法。

优点:

1)可以将接口与实现相分离。

2)提高了可扩展性。

3)对客户端隐藏了实现的细节。

使用场景:

1)想避免在抽象及其实现之间存在永久的绑定。

2)抽象及其实现可以使用子类进行扩展。

3)抽象的实现被改动应该对客户端没有影响,不用重新编译代码。

 

Bridge 模式

/// <summary> /// 像素矩阵类 /// </summary> public class Matrix { } public abstract class Image { public void SetImp(ImageImp imp) { this.imp = imp; } public abstract void ParseFile(string fileName); protected ImageImp imp; } public abstract class ImageImp { public abstract void doPaint(Matrix m);//显示像素矩阵m }

 

public class WinImp:ImageImp { public override void doPaint(Matrix m) { //调用windows系统的绘制函数绘制像素矩阵 } } public class LinuxImp:ImageImp { public override void doPaint(Matrix m) { //调用Linux系统的绘制函数绘制像素矩阵 } }

 

public class JPEG:Image { public override void ParseFile(string fileName) { Matrix m = new Matrix();//此处解析BMP文件并获得一个像素矩阵对象m imp.doPaint(m); } } public class BMP : Image { public override void ParseFile(string fileName) { Matrix m = new Matrix();//此处解析BMP文件并获得一个像素矩阵对象m imp.doPaint(m); } } public class GIF:Image { public override void ParseFile(string fileName) { Matrix m = new Matrix();//此处解析BMP文件并获得一个像素矩阵对象m imp.doPaint(m); } }

 

 

目录
相关文章
|
28天前
|
设计模式
设计模式之桥接模式
设计模式之桥接模式
|
1月前
|
设计模式 Linux Windows
【设计模式】桥接模式
【设计模式】桥接模式
|
2月前
|
设计模式 Oracle Java
设计模式--- 桥接模式、JDBC 源码剖析(桥接)
设计模式--- 桥接模式、JDBC 源码剖析(桥接)
47 2
|
4月前
|
设计模式 前端开发
二十三种设计模式全面解析-深入解析桥接模式:解锁软件设计的灵活性
二十三种设计模式全面解析-深入解析桥接模式:解锁软件设计的灵活性
|
4月前
|
设计模式 Java 开发者
Java设计模式【七】:桥接模式
Java设计模式【七】:桥接模式
20 0
|
5月前
|
设计模式 Java 关系型数据库
认真学习设计模式之桥接模式(Bridge Pattern)
认真学习设计模式之桥接模式(Bridge Pattern)
36 0
|
6月前
|
设计模式
结构型设计模式06-桥接模式
结构型设计模式06-桥接模式
21 0
|
6月前
|
设计模式 C++
设计模式之桥接模式(C++)
设计模式之桥接模式(C++)
|
3月前
|
设计模式 Java 关系型数据库
聊聊Java设计模式-桥接模式
桥接(Bridge)模式是指将抽象部分与实现部分相分离,使它们都可以独立的发生变化。
40 7
聊聊Java设计模式-桥接模式
|
3月前
|
设计模式
设计模式 | 桥接模式
设计模式 | 桥接模式
17 0