桥接模式(C++实现)
2014-02-24 13:27
483 查看
桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 实现系统可能有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来,让它们独立变化,减少它们之间的耦合。
![](https://img-blog.csdn.net/20140224132346781?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZHdiMTAxNQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
[align=left] [/align]
[align=left] [/align]
#include <iostream> using namespace std; class HandsetSoft { public: virtual void Run() = 0; virtual ~HandsetSoft(){} }; class HandsetGame : public HandsetSoft { public: void Run() { cout<<"运行手机游戏"<<endl; } ~HandsetGame() {} }; class HandsetAddressList : public HandsetSoft { public: void Run() { cout<<"运行手机通讯录"<<endl; } ~HandsetAddressList() {} }; class HandsetBrand { protected: HandsetSoft* soft; public: void SetHandsetSoft(HandsetSoft* soft) { this->soft = soft; } virtual void Run() = 0; virtual ~HandsetBrand() {} }; class HandsetBrandN : public HandsetBrand { public: void Run() { soft->Run(); } ~HandsetBrandN() {} }; class HandsetBrandM : public HandsetBrand { public: void Run() { soft->Run(); } ~HandsetBrandM() {} }; int main() { HandsetBrand* ab; HandsetBrandN hbn; HandsetGame hg; ab = &hbn; ab->SetHandsetSoft(&hg); ab->Run(); HandsetAddressList hl; ab->SetHandsetSoft(&hl); ab->Run(); HandsetBrandM hbm; ab = &hbm; ab->SetHandsetSoft(&hg); ab->Run(); ab->SetHandsetSoft(&hl); ab->Run(); return 0; }
相关文章推荐
- 设计模式C++实现(10)——桥接模式
- 设计模式C++实现(10)——桥接模式
- 设计模式C++实现(10)——桥接模式
- 设计模式C++实现(10)——桥接模式
- 桥接模式及C++实现 C++设计模式-AbstractFactory抽象工厂模式
- 桥接模式及C++实现
- 大话设计模式--桥接模式 Bridge -- C++实现实例
- 设计模式C++实现(5)——桥接模式
- 大话设计模式--桥接模式 Bridge -- C++实现实例
- 设计模式学习(C++实现)6--桥接模式
- 桥接模式及C++实现
- 利用桥接模式实现手机品牌和手机软件之间的解耦 C++
- 设计模式C++实现(10)——桥接模式
- 桥接模式及C++代码实现
- 设计模式C++实现(10)——桥接模式
- 设计模式---桥接模式(C++实现)
- 大话设计模式_桥接模式c++实现
- 设计模式之桥接模式 及 c++ 实现
- 桥接模式C++实现
- 通过例子学设计模式之--桥接模式以及使用场景说明(C++实现)