書評:軟體設計精要與模式

來源:互聯網
上載者:User

終於閱讀完了張逸先生的《軟體設計精要與模式》一書,掩卷沉思,書中對於軟體設計這門學問的理解和闡述讓我受益良多,潛移默化之中,我對於軟體設計的過程以及模式的使用又有了新的認識。因此,我對此書的評價是一本不可多得的優秀書籍。

不能光說優秀,到底優秀在何處呢?個人感覺有以下幾點:

首先,內容不浮躁。

放眼當今的圖書市場,很多書都被冠以《**天精通***》《***入門到精通》等等很誘惑人的題目,具體的內容卻讓人不敢恭維,看完全書之後,學到的都是最基本的知識,能夠跟著書上的例子做幾個簡單的程式,甚至於還學會了其中一些不好的編程習慣,就飄飄然以為自己是開發高手了。浮躁是作為程式員的人所應當避免的,但正式很多書內容的浮躁,導致了人的浮躁。

而張逸先生的這本書則有很大的不同,裡面並沒有通篇列舉大量初級的代碼,他在書中提出的代碼都是經過深思熟慮的,非常具有代表性的代碼。並且,即便是在執行個體的部分,也沒有直接給出最終的代碼,而是先給出有問題的寫法,然後逐步重構、改進,這個過程中不斷地將軟體設計的思想潛移默化地傳遞給讀者,讓讀者理解其中的奧秘。另外,書中更多的是張逸先生對於軟體設計和模式應用的理解和經驗之談,這在國內的書中是不多見的,這樣的無私共用,與張逸先生本身的做人態度是分不開的。

其次,內容不枯燥。

很多做技術的人寫起書來都是滿篇的電腦術語,讓人看了之後昏昏欲睡。或者就是大段的代碼,本來是一本中文書,裡面的英文字母所佔的篇幅比中文字要多出很多。

而張逸先生則不同,他本人的文學水平頗高,且以作為文學愛好者,撰寫各種散文、小說為樂。所以,在他的書中,不完全都是冰冷的代碼和技術術語,經常會出現各種名言警句,或是恰如其分的比喻,為文章增色不少。而且,全書的文字流暢自然,有時候讀起來彷彿是一篇優美的散文,聆聽到的是張逸先生對於軟體設計發自於內心的感受。

最後,內容對讀者很負責。

很多時候,我們會看到某些作者為的就是求名求利,寫書的時候會不對讀者負責,敷衍了事,對於其中的技術細節以及代碼不加檢查,結果帶有很多會誤導初學者的習慣,甚至於漏洞、錯誤百出。或者是交付印刷之後就銷聲匿跡,對於讀者的意見和建議視而不見,聽而不聞,自顧自地去繼續追求名利了。

張逸先生不同於上述的情況,僅僅從他精心修訂該書的第二版就可以看出,它不僅僅要寫出一本書,而且要寫出一本高品質的書,對於其中不滿意的地方,張逸先生不惜花費大量的時間和精力,對其進行改善,力求盡善盡美,力求能夠讓讀者在閱讀之後對於軟體設計這門學問有嶄新的認識。而且,在本書的字裡行間,我們不難發現,文字是經過斟酌的,代碼是經過挑選的,案例更是從張逸先生的實際工作經驗中來的,這不同於某些書中玩具式的代碼,張逸先生所展現出來不僅僅是代碼,還有他在工作中所得到的寶貴經驗。如果說淺薄的代碼只是武功中的花拳繡腿,那麼張逸先生書中的內容都是難得的內功秘籍。

正因為上述的三點,才成就了這麼優秀的一本書,接下來再讓我們來瀏覽一下書中的內容。

第一部分 理論概述

在這部分中,張逸先生概述了軟體設計過程中一些比較重要的理論,但並非是簡單的從其他書中抄襲,而是加上了自己的理解,抽取出其中的精華部分,為接下來的理論和事件相結合做好了準備。如果讀者已經對其中的概念已經爛熟於心,當然也可以略過,不過可能就會錯過作者對這些理論頗有見地的闡述了。

第二部分 閱讀.NET的代碼

閱讀別人的代碼是提高自己軟體設計和開發水平非常有效手段之一,在這個部分中,作者帶著我們一起閱讀的是.NET的一些核心代碼,其中使用了很多設計模式,從中我們可以理解微軟的開發人員的思路,從而借鑒,以提高自身。

第三部分 動手實踐

終於到了實踐的部分,在這裡作者和我們一起建立了一個媒體播放器的樣本。最初的設計比較拙劣,但是作者和我們一起分析,不斷地改進設計,從而使得這個軟體在各個方面都得到了長足的進步。或許軟體本身的代碼並不是最重要的,重要之處就在於改善的過程,其中我們逐漸地瞭解到軟體設計的各種方法以及設計模式應該具體在什麼地方如何應用。

第四部分 經驗總結

這個部分的內容個人認為是本書的精華所在,因為其中簡明扼要地剖析了張逸先生在做過的實際項目中,是如何應用軟體設計的方法和設計模式的。這些都是經驗之談,而且是來自於一線實戰的經驗之談,我們需要做的就是和作者一起分析實際的情況,一起研究可行的方案,並選擇最好的來解決問題。

第五部分 關於架構

說到軟體設計,總是會說到架構,對於大型的軟體系統來說,好的架構是必不可少的。張逸先生在這個部分中和我們一起對微軟的petShop項目做了一次研究,讓我們瞭解到其中所涉及到的架構方面的知識。另外,透露一點兒內部訊息,張逸先生一直在籌劃一本架構方面的書,已經積累的大量的素材,我也期望能夠早日看到他的關於架構的新書的問世。

總而言之,這本書在國內的眾多電腦圖書中非常突出,絕對是一本經得起時間考驗的好書,如果你對軟體設計的方法以及設計模式感興趣,那麼必定會在閱讀本書的過程中獲得提高和進步。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.