posts - 262,  comments - 221,  trackbacks - 0
          一、使用Bridge模式的目的:

          使用Bridge模式的一個動機應該是:對象擁有多個屬性,行為,在不同的時刻由不同的屬性和行為組合可以表現出不同的外部特征。(即排列、組合形式)

          如果對每一種屬性和行為的組合進行綁定,作為一個子類,那么勢必造成大量的子類存在。而且一旦原有的屬性改變,或者行為改變了,會導致原有的類需要重新修改編譯。

          如果將屬性、行為分開,采用動態組合的方式,在運行時動態決定需要將那個屬性和那個行為搭配,除了可以減少子類的數量之外,還增強了未來的擴展性。

          二、Bridge模式與Decorator模式的異同:

          1).兩者都具有動態設定、改變類運行時功能的意圖和手法
          2).前者著重的是在原有功能基礎上的小修改,并不需要將抽象和行為分開,后者則著重于整體的組合,抽象和實現分離

          三、Bridge模式的特點:

          ·在抽象接口中包含了一個對行為接口的引用,這樣的話行為的操作將完全委托給行為接口完成,抽象類無需關心。

          ·在抽象類的繼承子類中,調用了行為類的子類來實現不同的行為。此時抽象類的子類中只知道屬性,但不知道具體的行為實現,實現了概念與行為的分離

          ·在行為類的繼承子類中,只知道執行相應的動作,但不知道具體的屬性,實現了行為和概念的分離

          四、Bridge模式的實現圖例:





          -------------------------------------------------------------
          生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
          posted on 2008-02-26 21:48 Paul Lin 閱讀(2087) 評論(0)  編輯  收藏 所屬分類: 模式與重構
          <2008年2月>
          272829303112
          3456789
          10111213141516
          17181920212223
          2425262728291
          2345678

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 城固县| 闽清县| 广宗县| 廉江市| 揭西县| 商水县| 遵化市| 西畴县| 固阳县| 涟水县| 广汉市| 宜兰市| 林甸县| 苏尼特左旗| 清徐县| 温州市| 伊金霍洛旗| 双辽市| 磴口县| 定西市| 隆子县| 德州市| 榆社县| 兴文县| 稷山县| 汕尾市| 武邑县| 淮滨县| 桃园县| 嘉兴市| 咸丰县| 五家渠市| 定结县| 苗栗县| 凤台县| 原阳县| 古蔺县| 伊通| 宣化县| 临西县| 阜城县|