C++设计模式之Bridge模式
2011-01-17 16:16
288 查看
一、功能
将抽象部分与它的实现部分分离,使它们都可以独立地变化。
二、结构图
![](http://pic002.cnblogs.com/images/2011/139452/2011011716124615.png)
三、示例代码
四、实例
(1)创建可以在X Window System和IBM的Presentation Manager系统中都可以使用的窗口。(书上的例子)
![](http://pic002.cnblogs.com/images/2011/139452/2011011716154094.png)
Bridge的魅力在于抽象和实现之间是松散的关系,它们之间可以进行随意组合。如上图中,就有IconWindow+XWindowImp、TransientWindow+XWindowImp、IconWindow+PMWindowImp、TransientWindow+PMWindowImp四种组合。
将抽象部分与它的实现部分分离,使它们都可以独立地变化。
二、结构图
![](http://pic002.cnblogs.com/images/2011/139452/2011011716124615.png)
三、示例代码
namespace DesignPattern_Bridge { // class Implementor class Implementor { public: virtual void OperationImp() = 0; }; // class ConcreteImplementorA class ConcreteImplementorA : public Implementor { public: virtual void OperationImp() { } }; // class ConcreteImplementorB class ConcreteImplementorB : public Implementor { public: virtual void OperationImp() { } }; // class Abstraction class Abstraction { public: void Operation(Implementor* imp) { assert(imp) ; imp->OperationImp(); } }; } //客户端代码: { using namespace DesignPattern_Bridge ; Abstraction obj ; Implementor *impa = new ConcreteImplementorA() ; Implementor *impb = new ConcreteImplementorB() ; obj.Operation(impa) ; //第一种实现方法 obj.Operation(impb) ; //第二种实现方法 }
四、实例
(1)创建可以在X Window System和IBM的Presentation Manager系统中都可以使用的窗口。(书上的例子)
![](http://pic002.cnblogs.com/images/2011/139452/2011011716154094.png)
Bridge的魅力在于抽象和实现之间是松散的关系,它们之间可以进行随意组合。如上图中,就有IconWindow+XWindowImp、TransientWindow+XWindowImp、IconWindow+PMWindowImp、TransientWindow+PMWindowImp四种组合。
相关文章推荐
- [GoF设计模式]Bridge模式和Template模式的C++实现
- 常见设计模式的解析和实现(C++)之七-Bridge模式
- C++ Bridge设计模式
- 设计模式C++描述----09.桥接(Bridge)模式
- 设计模式C++学习笔记之十一(Bridge桥梁模式)
- C++设计模式-Bridge桥接模式
- 设计模式C++学习笔记之十一(Bridge桥梁模式)
- c++ 设计模式7 (Bridge 桥模式)
- C++ Bridge 设计模式
- C++设计模式之桥接模式(Bridge)
- 设计模式C++学习笔记之二(Bridge桥梁模式)
- 我所理解的设计模式(C++实现)——桥模式(Bridge Pattern)
- C++设计模式之 -- 桥接模式 (Bridge)
- 常见设计模式的解析和实现(C++)之七-Bridge模式
- 常见设计模式的解析和实现(C++)之七-Bridge模式
- c++ 设计模式之桥接模式(Bridge)
- C++设计模式之十二--Bridge桥梁模式
- 设计模式C++描述----09.桥接(Bridge)模式
- 我所理解的设计模式(C++实现)——桥模式(Bridge Pattern)
- C++设计模式——Bridge模式