当前位置: 代码迷 >> 综合 >> Bridge 模式学习:
  详细解决方案

Bridge 模式学习:

热度:65   发布时间:2023-12-12 11:39:18.0

基本模式是复杂类的抽象和实现分开,这样抽象和实现可以相互独立,各自演进发展:

 

类似于:

 

sruct Impl;

struct ComplexClass

{

    virtual void  interface1();

    virtual void  interface2();

    virtual void interface3();

    Impl * getImpl();   

private:

     Impl *impl;

}

 

 

抽象的演进:

 

struct oneRefinedClass : ComplexClass

{

    interface4();

}

 

实现的演进:

 

struct oneRefinedImpl :Impl

{

}

 

优势:

1 对客户不暴露实现。

2 抽象和实现相互独立,不相互依赖。

3 确定使用什么实现可通过抽象工厂生产,彻底解除两者的依赖。

4 IMPL可以仅仅为某个具体的RefinedImpl类使用。

 

 

  相关解决方案