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
桥接模式在3D渲染的应用
本文介绍桥接设计模式及其在3D图形渲染引擎中的应用案例,通过分离抽象接口与其实现细节,实现不同图形API和窗口系统的灵活组合。
1646

被折叠的 条评论
为什么被折叠?



