那些年,我們一起讀過的《JAVA與模式》

剛上大二,買回來那一本厚厚的《JAVA與模式》時,我還很不舍得,這價格,可以供一周的生活費了。既然買了,就得讀一讀吧。
**先說說閻宏**,從1992年到現在,在美國從事軟件研究開發工作。曾任職于湯臣金融(Thomson Financial),參于設計開發投資關系網站www.IRChannel.com(原來叫www.IRUniverse.com),第一聲(www.FirstCall.com),曾在奧本海默基金(Oppenheimer)開發股票實時交易系統,曾在美國阿貢國家實驗室從事專家系統的研究。從書中敘述的風格來看,他也算是一個精通武俠人物特征的人,大凡能用武俠風書寫的都用上,似乎我和我的同學們看得還津津有味,最后還分析說閻宏真是一怪才。我們也有嘗試去發郵件給他,請教過有關問題,他也回過一兩封郵件。我們發現他博覽群書,讀盡了設計模式的著作。他寫的這本《JAVA與模式》特點就是全,匯集了大部分已出版的英文模式圖書的精華,匯集了當時設計模式研究的最新成果。
**再說說這書吧**,剛懂得JAVA語言是個啥時,就要學習這模式,我真是有點二章和摸不著頭得愣頭青。老師邊講模式,我邊點頭,完了下課后就忘記了,覺得模式簡單,但是不是很有用。特別是什么“工廠模式”、“門面模式”、“觀察者模式”,特征都差不多,唯一最簡單的“單例模式”,我好不容易才學會用。在沒有上實踐課之前,完全沒有認真去理解和體會設計模式是有多重要,上課時無非也就是死記硬背設計模式的概念和學習一下怎么用UML工具,那時就是為了應付考試而已。書中說的那些代碼,我是能看懂,也覺得簡單。但之后工作了,好像也沒有去將設計模式的思想應用到軟件設計當中去,因此學過后完全忘記這些模式的代碼模型了。然而,在項目組當中,經常會有這樣或那樣的抱怨聲:“這是誰寫的代碼,寫得這么亂,這怎么改”之類的話。其實,這就正是反面體現出了為什么設計模式的重要性。?做了好多項目后,感嘆:一個好的軟件,必須要有一個好的靈魂,而好的靈魂必然取決于軟件的設計。現在我慢慢的開始體會設計模式對于一個軟件的生命的重要性。?
**工作一年多后**,我真正體會到模式的重要性,與之相對應的是,《JAVA與模式》這本書還珍藏在我家的書柜里面。里面講到了幾十種設計模式大部分都是“圣經”里面有過的。前面一些章節主要介紹設計模式需要遵循的一些原則。例如:好的軟件設計必須遵循“開-閉原則”講的是,一個軟件設計除了實現功能之外,必須保證軟件具有良好的擴展性和可維護性,只有這樣,軟件才能長期的生存下去。其他的還有“李氏代換原則”、“聚合-合并原則”、“依賴倒轉原則”等等。后面大部分章節是對每種設計模式逐一的分析和介紹,包括類圖設計和代碼實現。我現在設計代碼時,還會套用這些設計模式,如:簡單工廠模式、工廠方法模式、抽象工廠模式、單例模式等。?
**當然,這本書也有其優缺點**,作為一本主要講解設計模式的書,我覺得有兩大優點:
(1) 本書用中文寫作,對于中文母語的我們來說確實有閱讀上的優點;
(2) 本書把現在的設計模式作了一個大大的羅列,省去我們到處查詢資料的花銷;
這也是我覺得唯一的兩個優點,缺點也是有幾點總結:
(1) 各種模式的講解都是現成的,在看過日本專家寫的資料后,發現他們對于模式描述得非常清晰,所以覺得本書沒有什么創新性;
(2) 各種中國本土的例子,有一些牽強附會的例子,看來作者一心一意把設計模式向中國靠;
(3)篇幅有點太大,閱讀攜帶都不便,作者有賺稿費之嫌。
**最后,說說與其他書的對比。**相比較《設計模式》這本書而言,《JAVA與模式》更加通俗易懂又風趣,捧在手心,有些愛不釋手。《設計模式》更趨向于UML官方口吻的味道,講解各類模式要嚴肅一些。當然,在JAVA領域,還有一些經典的書,如《JAVACORE》,《THINKING IN JAVA》,但這些書更加偏向于是介紹JAVA語言的工具書。

**長篇大論了一番,結合這本模式書總結一下:JAVA語言發展到今天,已經是相對成熟的語言了,很難突然再發生質上的變化。但是模式我覺得是不同的,屬于面向對象的方法論,是存在繼續發展的空間的。這點大家認可否?**
- 前言
- 讀《Linux內核設計與實現》我想到了這些書
- 夢想的啟航,那些年,那些書
- C++和Windows平臺的一些書籍
- java一路走來
- 《Android入門之旅》
- 致我們終將逝去的青春-PHP篇
- 多讀書,讀好書
- 這些年,那些我們一起讀過的代碼
- C++碼農要讀的經典
- 閱讀IT類圖書,能夠收獲什么
- 讀完《大數據時代》的一點兒心得
- 這些日子我讀過的《java編程思想》
- 關于C,看過的一些書
- Android系統深度游
- 《《內存和性能優化》》給我帶來的!
- 「書評」SAP內存計算——HANA
- 書籍記錄了我技術的成長歷程
- 那一年讀過的技術經典書
- 【時間規劃】C/C++發展之路--讀書
- UNIX 環境高級編程之我見
- 游戲開發圖書推薦--我讀過的技術經典圖書
- 自己動手寫操作系統-經典書籍
- 游戲升級之路
- 《SQL Server 2005開發技術大全》分享一本書
- 書,永遠的朋友
- 學生時代的書單
- 追求技術之路 - 那些陪伴我的書籍
- 經典書籍--好書很多,重要的是有個目標,有個規劃
- android系統深入開發
- 這些年一路相伴的書
- 從零開始學
- 這些年我讀過的技術經典圖書(附電子版下載地址)
- 書--益友--從不孤單
- 給自己時間沉淀下來
- 那些支持我學習與工作的良師益友
- 文章千古事、得失寸心知
- 從Linux 驅動到游戲可視化轉行要讀的書
- 那些年,我們一起讀過的《JAVA與模式》
- 往事不堪回首 -- 多讀書
- 我程序人生的啟蒙書
- 一個不喜歡讀書的Javaer的讀書單
- 一本書,讓我走上編程之路
- 程序員讀書的五重天
- 大學那會兒,我讀過的技術經典圖書
- C語言高手進階的三碟小菜和一盤大餐