《面向物件的分析與設計》——“Jolt大獎精選叢書”有獎徵文
對於剛接觸程式設計的零基礎人群來說,面向物件和非面向物件是個很模糊的問題。比如,我結果許多學生,他們的第一個問題通常不是問“什麼是面向物件”,而是會問“面向物件和非面向物件那個好”。由於相對於面向過程程式設計來說,面向物件算是一個“新”概念。每當有一個新概念引入時,隨之而來的還伴有鼓吹新概念好處的文章。同樣,每一本介紹面向物件概念的書籍,都會說面向物件的概念是如何的好。相反,介紹C語言等面向過程的書,就顯得很低調。另外,其他如函數語言程式設計等,也僅僅在自己適用的那一畝三分地中宣傳。
面向物件有席捲天下之勢,但有一定經驗的人都清楚,沒有什麼面嚮物件語言能做的,而面向過程做不了的。同時,Linux眾由於使用C較多的緣故,依然堅持的面向過程。對面向物件的C++口誅筆伐。(抱歉,這裡似乎混淆了面向過程Vs面向物件 與 C Vs C++的概念了,不過這裡只是想說明一下問題。)
但是,事物的出現總是有其合理的一面。面向物件的概念的確能節省許多開發時間。正如書中所說“我們面臨著在計算資源和人力資源有限的條件下建立複雜系統的任務。面向物件(OO)技術已經發展為管理許多不同種類的系統中內在複雜性的手段。物件模型已被證明是非常有力和統一的概念。”
不像其他書籍只著重介紹面向物件的某一部分的內容,而對其他部分一帶而過。本書介紹全面介紹了面向物件的概念、方法和應用。對於學生,本書的讀者最好有一定軟體開發基礎。對於已工作的人,本書可以提高讀者分析和解決問題的能力。
我最先接觸的面向物件的語言是Java。最開始學習Java的時候,書中開頭在那強調面向物件多麼多麼好。然後舉出著名的“軟體危機”的例子。其實對於當時的我們,既沒有接觸面向過程,也沒有接觸過面向物件。懵懂的只知道一個“Hello World”的時候,面向物件彷彿是一件神祕的事。而本書針對初學者,回答了他們最想問的問題,那就是“什麼是面向物件”、面向物件的好處。誠然,其中許多問題需要在實踐中才能深層次的掌握。但當讀者有一定開發經驗時,本書可以讓讀者有“眾裡尋他千百度,那人卻在燈火闌珊處”的感覺。
有朋友說本書像是一本大學裡的教科書,讀起來昏昏欲睡的。我看了下樣章,的確,理論方面的內容比較多。不過磨刀不誤砍柴工。如果能掌握面向物件理念的精髓,那麼在實際中遇到了相似的問題,就知道如何選擇相對最好的途徑來解決。
書中的內容都是精華,若想對面向物件的概念和應用有深入瞭解的人,本書是相當重要的。其中的內容可以幫讀者做到“事半功倍”。多說無益,好書就在那,大家可以去看看樣章。這本書的排版看得很舒服,而且樣章給的也很厚道,一百多頁。足夠讓試讀的人對全書有個大致的瞭解。最後說一句譯者們的文筆也不錯。
一家之言,如有不妥,還請見諒