J2EE之巔

           

          “橋模式”與“極限分割”

          SCEA SCBCD MCSD

          北京天融信軟件架構師

          SUN,Microsoft 培訓中心特邀高端教師

          常年提供架構咨詢服務

          chaocai2001@yahoo.com.cn 010-82776427

          很多設計模式的書中都用這樣的語言來描述 橋模式 ”(GOF 95) – “把抽象與實現分開”( ”Prefactoring”, Ken Pugh,2006 , 這樣的描述實在有些讓人很難體會該模式的精髓。其實在我看來橋模式就是一種面向對象技術中“極度分割” 思想的體現。

          下面看一個常見的說明橋模式的例子:

          1 一個可以以不同方式輸出日志的工具類(輸出到文件或控制臺):

          1.jpg

          2 如果此時我們要求可以以多種不同格式來輸出日志(如: XML 和普通文本格式),為了適應這一需求我調整一下類的設計

          設計一:

          ?

          2.jpg

          從以上類圖可以看出這一設計會產生大量的類,分析其原因可以發現導致這一問題產生的是根類涉及了太多方面,如果這些方面都同時進行擴展就會形成復雜的繼承 ( 層次較深 ) 。如果我們把這些可擴展的不同方面進行分割,就會得到如下設計3.jpg

          以上設計正是傳說中的“橋模式”。

          經過以上分析我們可看到橋模式本質就是“極度分割”思想的一種體現。

          posted on 2007-03-05 09:44 超越巔峰 閱讀(1708) 評論(3)  編輯  收藏

          評論

          # re: “橋模式”與“極限分割” 2007-03-05 10:12 codeslave

          對"橋模式"有一定認識,但“極度分割”思想未曾聽說過,可否解析一下?  回復  更多評論   

          # re: “橋模式”與“極限分割” 2007-03-05 11:34 dennis

          極限分割?似乎沒有展開  回復  更多評論   

          # re: “橋模式”與“極限分割” 2007-03-05 17:27 我為J狂

          能不能解釋一下“極限分割”?謝謝。  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿(12)

          隨筆分類(54)

          隨筆檔案(59)

          文章分類(2)

          文章檔案(1)

          相冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 富平县| 两当县| 夏津县| 望谟县| 宣化县| 星子县| 温州市| 柘城县| 黑龙江省| 武城县| 阳江市| 富阳市| 双城市| 浪卡子县| 浠水县| 环江| 遂宁市| 房产| 泰兴市| 万山特区| 吉林省| 永城市| 志丹县| 富阳市| 新沂市| 漾濞| 青海省| 大同县| 进贤县| 始兴县| 涟源市| 武山县| 肃宁县| 徐水县| 临夏县| 自治县| 谷城县| 阿城市| 新龙县| 桃江县| 西青区|