当前位置: 代码迷 >> 综合 >> 【设计模式基础】结构型模式 - 4 - 桥接(Bridge)
  详细解决方案

【设计模式基础】结构型模式 - 4 - 桥接(Bridge)

热度:41   发布时间:2023-12-14 20:13:56.0

1. 模式意图

将抽象的部分与它的实现部分分离,使它们都可以独立地变化。

2. 模式定义


Abstraction:                       定义抽象类的接口;维护一个指向Implementor类型对象的指针;

RefinedAbstracion:          扩充由Abstraction定义的接口;

Implementor:                      定义实现类的接口,该接口不一定要与Abstracion的接口完全一致,事实上这两个接口可以完全不同。一般来讲,Implementor接口仅提供基本操作,而Abstracion则定义了基于这些基本操作的较高层次的操作;

ConcreteInplementorA/B:实现Implementor接口并定义它的具体实现;

3. 模式实现


4. 模式应用

4.1 3D图形渲染

一个图形引擎,同时支持OpenGL和D3D,需要提高一系列的接口绘制不同的物体,如矩形和圆形;使用桥接模式:

Abstracion:                     Render

RefinedAbstraction:     OpenGLRender,D3DRender

Implementor:                 Object

ConcreteImplementor:Rectangle,Circle

4.2 3D图形渲染窗口

不同的窗口系统,如Windows,QT等,同时支持多种底层图形API,如OpenGL,D3D,SDL等;使用桥接模式:

Abstracion:                     Window

RefinedAbstraction:     WindoesWnd,QTWnd

Implementor:                 Render

ConcreteImplementor:OpenGLRender,D3DRender,SDLRender




  相关解决方案