用代码和UML图化解设计模式之桥接模式的深入分析
2019/7/10 23:25:24
本文主要是介绍用代码和UML图化解设计模式之桥接模式的深入分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
桥接模式就是 独立和实现相分离。
不同的厂家生产不同的产品。。。。产品和厂家有这组合的关系。
上代码
// 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图化解设计模式之桥接模式的深入分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-30uniAPP 实现全屏左右滚动滚动的效果-icode9专业技术文章分享
- 2024-06-30如何在本地使用授权或插件-icode9专业技术文章分享
- 2024-06-30伪静态规则配置方法汇总-icode9专业技术文章分享
- 2024-06-29易优CMS安装常见问题汇总-icode9专业技术文章分享
- 2024-06-28易优新手必读安装教程-icode9专业技术文章分享
- 2024-06-28忘记eyoucms后台密码怎么办?-icode9专业技术文章分享
- 2024-06-26终极指南:Scrum中如何设置需求优先级
- 2024-06-26AI大模型企业应用实战(25)-为Langchain Agent添加记忆功能
- 2024-06-26小白家庭 nas 搭建方案-icode9专业技术文章分享
- 2024-06-23AI大模型企业应用实战(14)-langchain的Embedding