舉例說明:
/**
* 作者: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的用。
*/
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。