桥接模式

//把class的接口与其实现分离,从而要达到真正的数据隐藏之境,而其不二法门就是运用“桥连接模式(Bridge Pattern)”
//桥连接模式需要把目标类型分为两部分,接口部分和实现部分

  1. #include <iostream.h>   
  2. class Cimpl;  
  3. class C//接口部分   
  4. {  
  5. public:  
  6.  C( int val);  
  7.  ~C();  
  8.  int get_a()const;  
  9.  int get_b()const;  
  10. private:  
  11.  Cimpl *impl_;  
  12. };  
  13. class Cimpl//实现部分   
  14. {  
  15. public:  
  16.  Cimpl(int val):a_(val),b_(a_){}  
  17.  ~Cimpl(){}  
  18.  int get_a()const{return a_;}  
  19.  int get_b()const{return b_;}  
  20. private:  
  21.  int a_;  
  22.  int b_;  
  23. };  
  24. C::C(int val){impl_=new Cimpl(val);}  
  25. C::~C(){delete impl_;}  
  26. int C::get_a() const{return impl_->get_a();}  
  27. int C::get_b() const{return impl_->get_b();}  
  28. void main()  
  29. {  
  30.  C co(2);  
  31.  cout<<"a_=";  
  32.  cout<<co.get_a()<<endl;  
  33.  cout<<"b_=";  
  34.  cout<<co.get_b()<<endl;  
  35. }  

任何对Cimpl的修改,只要不改变Class C的接口,影响就会被牢牢钳制在一个单独的实现文件里
//使用桥接设计模式以后,有关class C的代码就不再修改了,修改的只是实现类,也就是Class Cimpl的代码
//这样,使用了Class C的代码就不必从新编译,因为对C来说,内存布局没有发生任何变化
/*桥接模式带来好处是大幅节省了编译时间,而且不必重新编译就能发布使用了Class C的代码更新*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值