舉例說明:
/**
* 作者:wanglei
* 郵箱:229846388@qq.com
* 橋梁模式(Bridge)
* 接口
*/
public interface Sourceable {
public void method();
}
/**
* 作者:wanglei
* 郵箱:229846388@qq.com
* 橋梁模式(Bridge)
* 實現(xiàn)類
*/
public class SourceSub1 implements Sourceable{
@Override
public void method() {
System.out.println("SourceSub1!");
}
}
/**
* 作者:wanglei
* 郵箱:229846388@qq.com
* 橋梁模式(Bridge)
* 實現(xiàn)類
*/
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.橋接模式就是把事物和其具體實現(xiàn)分開恶复,使他們可以各自獨(dú)立的變化.
* 2.橋接的用意是:將抽象化與實現(xiàn)化解耦,使得二者可以獨(dú)立變化.
*/
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();
}
}
/**
* 結(jié)果:
* SourceSub1!
* SourceSub2!
* 結(jié)論:通過對Bridge類的調(diào)用几晤,實現(xiàn)了對接口Sourceable的實現(xiàn)類SourceSub1和SourceSub2的用。
*/
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者