hays

          海納百川
          posts - 25, comments - 48, trackbacks - 0, articles - 0
            BlogJava :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

          讀后感:設計模式

          Posted on 2007-03-24 10:49 hays(海納百川) 閱讀(549) 評論(0)  編輯  收藏 所屬分類: 設計模式

          ???????????????? ???

          ?????? 設計模式,以前也考慮去學習過,可是老是聽說設計模式是很難學習的,也認為這個東西應該是系統分析師這些人去研究的東西。

          ?????? 最近幾個月自己做畢業設計,一個電子購物網站。一個多月,我自學了 structs+hibernat 的基本原理和應用,然后根據自己對面向對象的一些理解現了網站的基本功能!可是當我回顧整個系統的時候,我發現自己的代碼顯的十分的丑陋 ----- 主要表現為類爆炸,模塊的耦合性太高。這給我一個知覺:重構。

          ?????? 重構,說起來輕松,可是我還真不知道怎么去開始。因為我也是知覺上告訴我應該去重構下系統的!查看了 jpetstore 的代碼后,我第一次在程序中運用了“抽象工廠”這種設計模式來封裝了我的 DAO 層。雖然在很大程度上改善了我的代碼,可是我發現我的系統變的復雜 ---- 迷糊 + 迷糊 + 迷糊!

          ?????? 由于在運用了工廠模式之后,我發現自己以前寫的項目(也許應該叫做編程練習準確些)缺少就是這種東西 ---- 感覺上雖然有點復雜可是卻提供了很大的靈活性!意識到自己的缺陷之后,我開始了閱讀“設計模式”方面的書籍!

          ?????? 我希望在設計模式里找到一些我所需要的東西!確實是這樣,在這里我開始用不同的角度路去看問題。

          以前我做小項目的時候,比如電子購物系統,我會從界面開始來一步一步系統,象登陸模塊,我會先搞好界面,然后開始編寫事件處理 -------- 習慣了事件驅動模式的 window 開發了,呵呵!到了最后我會發現自己的程序完全是一條直線,根本沒有伸縮行 ---

          很長的一段時間,我都覺的這種編程一點意思都沒,所以我很想參與真正項目中來改變自己的這種現狀(找不到啊,郁悶,沒人帶!)

          ?????? 在我還沒有開始接觸設計模式之前,我以為自己至少也應該基本了解面向對象是個什么大概的東西(封裝啊,繼承,多態)。可是當我深入其中,才發現面向對象可以是這樣的,系統應該這樣來分析。在設計模式的世界里,我開始接觸到“場景”,“基于模式的面向對象設計”,“變化點與共同點( CVA )”。我發現自己深陷其中,在書中,我被著者對設計模式的理解所吸引。在書里,著者通過對自己實際問題的 N 次解決方案的利弊的分析,逐步推導出我們所熟悉的設計模式(工廠模式,門面模式。。)。“基與模式的面向對象設計”這中新的設計思想已經開始在我心地埋下了種子。

          ?????? 學習設計模式吧,我覺的最重要的就是理解它的思想!書上這么說的,設計模式不是一個人創造出來,而是由別人總結出來的。設計模式本身其實我們并不陌生,也許你也在用它,可是你不知道自己使用的是一種什么模式。就好象我們經常用的 DBoperation 類來封裝數據庫的基本操作一樣,我門只知道這是一種封裝,而不清楚他是一種 ”fa?ade-- 門面 設計模式。

          還有在 web 應用中,我們經常會封裝的 DA 層,也就是數據訪問層,其實它是一種 bridge 橋接模式。經常聽同學說,設計模式理解起來不是很難。難就在于怎么去使用設計模式,其實這和我們剛接觸面向對象是一樣的,我們知道繼承和多態是那么個回事,可是在自己的程序中到底怎么用還是不知道。我看的這本書很大程度上是告訴你怎么去發現模式,然后去運用模式。書中,它把設計模式說成是在特定的場景下的一種最優解決方案。

          ?????? 不說了,下次我會對具體的設計模式寫下自己的一些看法(希望把 4 人幫的 23 個設計模式都寫一遍)。當然了,我也努力把自己學到這些想法在自己的電子購物系統的重構中運用上去。

          ?????? 最后吧,我把自己看的這本書的名字寫上去,做為一本入門書籍,我覺得是 the best!!

          《設計模式精解》 ---- 清華大學出版社。不過看這本書之前,我個人建議是先基本了解下 4 人幫的 23 個設計模式。

          ??????

          ??????


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


          網站導航:
           
          主站蜘蛛池模板: 西盟| 文昌市| 科尔| 拉孜县| 平顶山市| 抚顺县| 利川市| 黄平县| 容城县| 阿克| 布尔津县| 新干县| 河津市| 买车| 开平市| 崇仁县| 逊克县| 民和| 旺苍县| 沁源县| 海南省| 武城县| 富平县| 浦东新区| 清水县| 巩义市| 镇坪县| 平乡县| 逊克县| 平阴县| 县级市| 梨树县| 湖口县| 郯城县| 钟祥市| 荥阳市| 南昌市| 榆社县| 高阳县| 江孜县| 峨眉山市|