手机
当前位置:查字典教程网 >编程开发 >C语言 >用代码和UML图化解设计模式之桥接模式的深入分析
用代码和UML图化解设计模式之桥接模式的深入分析
摘要:桥接模式就是独立和实现相分离。不同的厂家生产不同的产品。。。。产品和厂家有这组合的关系。上代码复制代码代码如下://Bridge.cpp:定...

桥接模式就是 独立和实现相分离。

不同的厂家生产不同的产品。。。。产品和厂家有这组合的关系。

用代码和UML图化解设计模式之桥接模式的深入分析1

上代码

复制代码 代码如下:

// Bridge.cpp : 定义控制台应用程序的入口点。

/************************************************************************/

#include "stdafx.h"

#include <iostream>

using namespace std;

class Product

{

public:

Product(){}

virtual ~Product(){}

virtual void make()=0;

virtual void sell()=0;

};

class ProductA:public Product

{

public:

ProductA(){}

virtual ~ProductA(){}

virtual void make()

{

cout<<"ProductA:make()"<<endl;

}

virtual void sell()

{

cout<<"ProductA:sell()"<<endl;

}

};

class ProductB:public Product

{

public:

ProductB(){}

virtual ~ProductB(){}

virtual void make()

{

cout<<"ProductB:make()"<<endl;

}

virtual void sell()

{

cout<<"ProductB:sell()"<<endl;

}

};

class Corp

{

public:

Corp(Product* pro)

:m_product(pro)

{}

virtual ~Corp()

{

delete m_product;

}

virtual void process()

{

m_product->make();

m_product->sell();

}

private:

Product *m_product;

};

class CorpA:public Corp

{

public:

CorpA(Product * pro) :Corp(pro){}

virtual ~CorpA(){}

virtual void process()

{

cout<<"CorpA():process()"<<endl;

Corp::process();

}

};

class CorpB:public Corp

{

public:

CorpB(Product * pro) :Corp(pro){}

virtual ~CorpB(){}

virtual void process()

{

cout<<"CorpB:process()"<<endl;

Corp::process();

}

};

int _tmain(int argc, _TCHAR* argv[])

{

Product* product;

product = new ProductA;

Corp * corp ;

corp = new CorpA(product);

corp ->process();

cout<<"----------"<<endl;

product= new ProductB;

corp = new CorpB(product);

corp->process();

return 0;

}

生产和厂家都是独立实现,充分给了自由。。。。

ok 今天就到这里。。。。继续学习

【用代码和UML图化解设计模式之桥接模式的深入分析】相关文章:

数组和指针的区别深入剖析

二维指针动态分配内存连续问题深入分析

C++中const的实现机制深入分析

ACE反应器(Reactor)模式的深入分析

c++ 虚函数与纯虚函数的区别(深入分析)

使用map实现单词转换的实例分析

引用参数和传值参数的区别深入解析

二叉查找树的插入,删除,查找

数据结构课程设计-用栈实现表达式求值的方法详解

基于C程序启动代码的深入分析

精品推荐
分类导航