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)

          相冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 罗甸县| 屏东县| 安图县| 阜阳市| 门源| 沽源县| 庆云县| 固原市| 工布江达县| 大石桥市| 榆社县| 台东县| 虞城县| 宣城市| 福海县| 南城县| 治多县| 通许县| 阿尔山市| 安顺市| 晋城| 灵宝市| 盐源县| 阿拉善盟| 浮梁县| 张掖市| 吕梁市| 恩施市| 贵阳市| 三都| 五家渠市| 安泽县| 靖安县| 松原市| 克拉玛依市| 黑龙江省| 繁峙县| 布尔津县| 华池县| 鄄城县| 库伦旗|