Bridge 模式学习:

来源:互联网 发布:云点域名 编辑:程序博客网 时间:2024/06/04 08:11

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

 

类似于:

 

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类使用。

 

 

0 0
原创粉丝点击