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

 更新时间:2020年4月25日 17:45  点击:1936

桥接模式就是 独立和实现相分离。
不同的厂家生产不同的产品。。。。产品和厂家有这组合的关系。

上代码

复制代码 代码如下:

// 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 今天就到这里。。。。继续学习

[!--infotagslink--]

相关文章

  • 深入解析C#设计模式中对桥接模式的具体运用

    这篇文章主要介绍了C#设计模式中对桥接模式的具体运用,桥接模式所强调的解耦在代码维护中非常有用,需要的朋友可以参考下...2020-06-25
  • C++设计模式之桥接模式

    这篇文章主要介绍了C++设计模式之桥接模式,本文讲解了什么是桥接模式、为什么要使用桥接模式、什么时候使用桥接模式等内容,需要的朋友可以参考下...2020-04-25
  • C#桥接模式完整实例

    这篇文章主要介绍了C#桥接模式,以实例形式较为详细的分析了C#桥接模式的实现原理与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • Java设计模式之桥接模式的实现

    今天给大家带来的文章是Java设计模式的相关知识点,文中对桥接模式作了非常详细的介绍及代码示例,对正在学习的小伙伴们很有帮助,需要的朋友可以参考下...2021-06-07
  • 用代码和UML图化解设计模式之桥接模式的深入分析

    本篇文章是对桥接模式进行了详细的分析介绍,需要的朋友参考下...2020-04-25
  • .NET桥接模式讲解

    这篇文章主要为大家详细介绍了ASP.NET桥接模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • C++设计模式之桥接模式(Bridge)

    这篇文章主要为大家详细介绍了C++设计模式之桥接模式Bridge,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
  • java设计模式--桥接模式详解

    这篇文章主要为大家详细介绍了java设计模式之桥接模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能给你带来帮助...2021-07-21
  • C# 设计模式系列教程-桥接模式

    桥接模式降低了沿着两个或多个维度扩展时的复杂度,防止类的过度膨胀,解除了两个或多个维度之间的耦合,使它们沿着各自方向变化而不互相影响。...2020-06-25