国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 學院 > 開發設計 > 正文

設計模式——橋接模式(BridgeMode)

2019-11-10 20:21:42
字體:
來源:轉載
供稿:網友

要想正確理解設計模式,首先必須明確它是為了解決什么問題而提出來的。

設計模式學習筆記

——Shulin

轉載請注明出處:http://blog.csdn.net/zhshulin

橋接模式的定義:"將抽象部分與實現部分分離,使它們都可以獨立的變化"。

橋接模式是所有面向對象模式的基礎,通過對橋接模式的學習來理解設計模式的思想。理由如下:

1、它教導如何思考抽象,這是面向對象設計模式的關鍵概念。

2、它實現了基本的OOD原則。

3、它容易理解。

4、如果正確理解該模式,學習其他模式會很容易。

假設以下場景:

我們房間里有些電器(電燈,風扇等)。這些設備按照某些方式布局,并由開關控制。任何時候你都能替換或排查一個電器而不用碰到其他東西。例如,你可以換一個電燈而不需要換開關。同樣,你可以換一個開關或排查它而不需要碰到或替換相應的電燈或風扇;甚至你可以用把電燈連接到風扇的開關上,把風扇連到電燈的開關上,而不需要碰到開關。

當不同東西聯系在一起時,它們應該按照一定方式聯系:修改或替換一個系統時不會影響到另一個,或者說即便有,也應該最小化。這能夠讓你的系統易于管理,且成本低。

把電燈/風扇和開關聯系到一起的是電線和電器布局。我們可以它們看做不同系統間相互聯系的橋梁。其基本的思想是,一個事物不能和另一外一個事物直接聯系。它們應當通過某些橋梁或接口聯系在一起。用軟件術語來說,這叫“松耦合”。

例子中我們有開關,可能有幾種開關,如普通的開關,漂亮的開關,但通常來說它們還是開關,并且每種開關都能夠打開和關閉。

所以下面我們會有一個開關的父類Switch:

[java] view plain copy PRint?在CODE上查看代碼片public class Switch {                  public void On() {  }               public void Off(){  }     }   

接下來我們會有其他的具體的開關來繼承這個父類,他們都各自有自己的特征和行為,當然最基本的就是開、關,如:

[java] view%20plain copy print?public class FancySwitch extends Switch {      public void on(){          System.out.println("打開開關!!!!");      }      public void off(){          System.out.println("關閉開關!!!!");      }  }  [java] view%20plain copy print?public class NormalSwitch extends Switch {      public void on(){          System.out.println("打開開關!!!!");      }      public void off(){          System.out.println("關閉開關!!!!");      }        }  

對于電燈和電扇等具體的電器,根據OODP的開放閉合原則,我們知道只要可能,就應該嘗試抽象

跟開關不一樣,風扇和電燈等是兩種不同的事物。對于開關,我們能夠使用一個開關基類Switch,但風扇和電燈是兩個不同的事物,相比定義一個基類,接口可能更合適。一般來說,他們都是電器。所以我們可以定義一個接口,如IElectricalEqupublic interface IElectricalEquipment {      public void powerOn();  //每個電器都可以打開      public void powerOff(); //每個電器都可以關閉  }  

現在我們需要一座橋梁。在現實中,電線是橋梁。在我們對象設計中,開關知道如何打開和關閉電器,電器以某種方式聯系到開關。這里我們沒有電線,讓電器連接到開關的唯一方式是封裝。但開關不能直接知道風扇或電燈。開關應當知道一個電器IElectricalEquipment能夠打開或關閉。這意味著,Switch應該有一個IElectricalEquipment實例。

對風扇或電燈的封裝的實例是一個橋梁。所以讓我們修改Switch類以便封裝一個電器:

[java] view%20plain copy print?public class Switch {            public IElectricalEquipment iEquip;              public IElectricalEquipment getiEquip() {          return iEquip;      }      public void setiEquip(IElectricalEquipment iEquip) {          this.iEquip = iEquip;      }      public void On() {                //開關打開                }              public void Off() {                //開關關閉            }       }   

下面定義真實的電器:風扇和電燈,他們都實現了IElectricalEquipment接口。

電扇:

[java] view%20plain copy print?public class Fan implements IElectricalEquipment {      @Override      public void powerOn() {          System.out.println("打開電扇!");      }       @Override      public void powerOff() {          System.out.println("關閉電風扇!");      }  }  電燈:

[java] view%20plain copy print?public class Light implements IElectricalEquipment {            @Override      public void powerOn() {          System.out.println("打開電燈!");      }        @Override      public void powerOff() {          System.out.println("電燈關閉!");      }    }  

現在開關必須可以控制電器:

[java] view%20plain copy print?派生到我的代碼片public class BridgeModeDemo {        public static void main(String[] args) {          Switch fancySwitch = new FancySwitch(); //實例化漂亮的開關          Switch normalSwitch = new NormalSwitch();   //實例化普通開關          IElectricalEquipment fan = new Fan();   //實例化電風扇          IElectricalEquipment light = new Light();   //實例化電燈          normalSwitch.setiEquip(light);          fancySwitch.setiEquip(fan);          fancySwitch.getiEquip().powerOn();  //此時具體的開關和電扇連接起來了          normalSwitch.getiEquip().powerOn(); //打開電燈      }    }  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
黄色片视频在线观看| 丁香视频五月| 精品乱码一区二区三四区视频| 影音先锋在线中文字幕| 国产成人亚洲欧美电影| 在线影视一区| 蜜桃视频网站在线| 九九热视频在线| √天堂8资源中文在线| 国产精品18久久久久网站| 国产aa视频| 欧美国产中文| 国产欧美日韩第一页| 在线天堂av| 五月亚洲综合| 亚洲欧美国产另类首页| 国产中文字幕网| 精品国产一区二区三区四区阿崩| 亚洲一区二区三区在线观看网站| 黄色片视频在线观看| 国产极品视频| 国产精品一区二区资源| 在线国产91| 国产视频第一区| av网址在线免费观看| 国产色a在线| 国产老肥熟xxxx在线观看| av福利在线| 国产福利资源| 在线91av| 天天av天天爱| 激情亚洲综合网| 人人澡人人爽| 91资源在线观看| 国产人成在线视频| 国产69精品久久app免费版| 国产经典av| 国产小视频在线| 黄网址在线播放免费| 日韩亚洲一区中文字幕| 在线中文av| 在线免费观看黄色av| 97视频免费| 99在线视频影院| 精品国语对白精品自拍视| 国产变态拳头交视频一区二区 | 国产丝袜在线| 最近中文字幕av免费高清| 青草视频在线播放| 在线观看视频污| 国产人成在线观看| 国产区视频在线观看| 国产日韩网站| 精品久久av| eeuss影院www在线播放| jizz亚洲大全| 超碰在线观看免费| 国产乱在线观看视频| 国产午夜精品久久久久免费视| 丁香在线视频| 国产成人亚洲精品播放器下载| 国产日韩精品在线看| 18av在线视频| 超碰人人在线| 国产亚洲精品拍拍拍拍拍| 中文字幕av网| 国产原创在线播放| 国产一级又黄| 一级二级在线观看| 开心丁香婷婷深爱五月| 中文字幕日本三级| 国产国产人免费人成免费视频| 夜夜爽视频导航| 天堂资源在线中文| 92久久精品| 国产在线观看av| 国产福利图片| 精品中文字幕不卡在线视频| 国产一级黄色| 日本一级理论片在线大全| 国产午夜视频在线观看| 日本黄在线观看| 69日小视频在线观看| 国产69精品久久app免费版| 精品一二三区视频| 最近免费中文字幕在线第一页| 2018中文字幕在线观看| 狠狠操狠狠色| 天堂在线国产| 影音先锋中文字幕在线| 国产欧美在线观看视频| 久久精品免视着国产成人| 精品国产高清a毛片无毒不卡| 国产在线高清理伦片a| 日本视频一二三区中文字幕| 91www在线观看| 国产视频三区| 国产精品久久久久一区二区国产 | 在线国产91| 国产高清av| 国产福利免费在线观看| 五月婷婷丁香激情| 中文字幕在线影视资源| 毛片在线视频| 久久国产热视频| 精品一区二区在线欧美| 96久久久久久| 四虎久久影院| 日本片在线看| 日本aⅴ写真网站免费| 日韩亚洲一区中文字幕| 国产在线一二| 中文字幕乱在线伦视频乱在线伦视频 | 在线视频观看亚洲| 轻轻色免费在线视频| 日本久久网站| 免费国产阿v视频在线观看| 免费中文字幕| 免费观看v片在线观看| 99视频免费在线观看| 国产深夜福利| 日本免费一二区| 国产在线视频网站| free性亚洲| 国产在线三区| 国产日产一区二区| 亚洲а∨精品天堂在线| 欧美日韩**字幕一区| 国产小黄视频| 亚洲欧美小说国产图片| 久热中文字幕| 国产私人影院| 青草青在线视频| 国精一区二区三区| 国产福利在线视频| 黄色网址在线免费播放| 精品久久九九| 午夜国产在线| 超碰97国产精品人人cao| 国产色婷婷在线| 欧美性猛交xxxx免费看蜜桃| 国产丝袜视频在线播放| 免费a级人成a大片在线观看| 国产成人精品久久一区二区小说| 欧美性猛交xxxx免费看久久| 国产激情视频一区二区三区| 黄色片大全在线观看| 99综合精品久久| 国产麻豆精品视频一区二区 | 尤物视频免费在线观看| jizz性欧美| 在线免费看av| 国产成人精品自线拍| 国产亚洲精品久久久久久移动网络| gogo在线高清视频| 99在线免费视频| 国产福利在线视频| √天堂8资源中文在线| 国产在线三区| www.jizz在线观看| 91精品大全| 91亚洲欧美| 99久久国产视频| 尤物在线视频观看| 91www在线观看| 国产高清大尺度一区二区不卡| 88av在线| 国产一级免费看| 午夜视频在线免费| 天堂资源最新在线| 国产一卡2卡3卡4卡网站免费| 国产尤物一区二区三区| 国产美女福利在线观看| 国内外激情在线| 尤物视频在线观看| 天堂在线亚洲| 国产三区在线观看| 精品亚洲综合| 不卡av免费观看| 丁香在线视频| 最近中文字幕mv免费高清在线| 国产一级免费| 在线观看免费观看在线91| www.jizz在线观看| 最近免费中文字幕在线第一页| 国产探花视频在线观看| 在线观看av中文| 国产在线播放av| 92久久精品| 国产有码在线| 国产午夜精品一区理论片| 91看片在线观看| 久久亚洲国产成人亚| 国产精品xxx电影| xxxxx中文字幕| 国产精品xxx电影| 久久久久国产精品嫩草影院| 国产精品久久久久久久久鸭 | 亚洲欧美中文字幕在线观看| 免费国产在线视频|