设计模式整理

桥梁模式(Bridge)

2017-10-27  本文已影响0人  MrWangLei6666

举例说明:

/**
 * 作者:wanglei 
 * 邮箱:229846388@qq.com
 * 桥梁模式(Bridge)
 * 接口
 */
public interface Sourceable {
    public void method();
}
/**
 * 作者:wanglei 
 * 邮箱:229846388@qq.com
 * 桥梁模式(Bridge)
 * 实现类
 */
public class SourceSub1 implements Sourceable{
    @Override
    public void method() {
        System.out.println("SourceSub1!");
    }
}
/**
 * 作者:wanglei 
 * 邮箱:229846388@qq.com
 * 桥梁模式(Bridge)
 * 实现类
 */
public class SourceSub2 implements Sourceable{
    @Override
    public void method() {
        System.out.println("SourceSub2!");
    }
}
/**
 * 作者:wanglei 
 * 邮箱:229846388@qq.com
 * 桥梁模式(Bridge)
 * 定义一个桥,持有Sourceable的一个实例:
 */
public abstract class Bridge {
    private Sourceable sourceable;

    public void method(){
        sourceable.method();
    }

    public Sourceable getSourceable(){
        return sourceable;
    }

    public void setSourceable(Sourceable sourceable){
        this.sourceable = sourceable;
    }

}
/**
 * 作者:wanglei 
 * 邮箱:229846388@qq.com
 * 桥梁模式(Bridge)
 */
public class MyBridge extends Bridge{

    @Override
    public void method(){
        getSourceable().method();
    }
}
/**
 * 作者:wanglei
 * 邮箱:229846388@qq.com
 * 桥梁模式(Bridge)
 * 定义:
 * 1.桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化.
 * 2.桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化.
 */
public class SimplePattern {
    public static void main(String[] args) {
        Bridge bridge = new MyBridge();

        Sourceable sub1 = new SourceSub1();
        bridge.setSourceable(sub1);
        bridge.method();

        Sourceable sub2 = new SourceSub2();
        bridge.setSourceable(sub2);
        bridge.method();
    }
}

/**
 * 结果:
 * SourceSub1!
 * SourceSub2!
 * 结论:通过对Bridge类的调用,实现了对接口Sourceable的实现类SourceSub1和SourceSub2的用。
 */
上一篇下一篇

猜你喜欢

热点阅读