- JavaScript設計模式與開發實踐
- 曾探
- 999字
- 2020-01-10 15:38:11
序
如果時間倒退一點,很難想象我這樣的“懶人”會花上近一年的業余時間來完成這本書。
這本書的原型是我發表在騰訊內部KM論壇的一篇文章《JavaScript常用設計模式》。這篇文章反響不錯,還位列2012年KM十大熱門文章第一名。不過說老實話,當時自己也是模式的初學者,和網上大部分討論設計模式的文章一樣,這篇文章里其實存在一些錯誤,這里要誠懇地說聲抱歉。也正是由于這個原因,近兩年我重新投身于對設計模式的研究之中。盡管如此,當在電腦上敲下本書第一行字的時候,我心中還是非常忐忑。一是我自己本身并非理論派,大部分工作時間都在做上層應用開發,很多偏理論的知識對于我來說,也是一個學習加總結的過程,二是不確保自己能否犧牲如此多的業余時間,畢竟很難削減玩LOL的時間。
無論如何,它終于和大家見面了。
本書結構
本書共分為三大部分。
第一部分講解了JavaScript面向對象和函數式編程方面的知識,主要包括靜態類型語言和動態類型語言的區別及其在實現設計模式時的異同,以及封裝、繼承、多態在動態類型語言中的體現,此外還介紹了JavaScript基于原型繼承的面向對象系統的來龍去脈,給學習設計模式做好鋪墊。
第二部分是核心部分,通過從普通到更好的代碼示例,由淺到深地講解了16個設計模式。
第三部分主要講解面向對象的設計原則及其在設計模式中的體現,還介紹了一些常見的面向對象編程技巧和日常開發中的代碼重構。
目標讀者
本書主要面向初中級JavaScript開發人員。本書雖然以設計模式為主題,但也講述了一些JavaScript開發中需要的基礎知識,初級程序員也能從這里找到自己需要的東西。而對于中級程序員而言,學習設計模式的過程,可能正是往高級進階的過程。
示例代碼與勘誤
本書提供了豐富的示例,示例代碼可以在圖靈社區本書主頁(http://www.ituring.com.cn/book/1632)的“隨書下載”中下載使用。
另外,由于作者的水平和時間所限,本書中難免存在一些遺憾。如果大家發現有什么問題,或者對本書有任何建議,歡迎到圖靈社區本書主頁提交勘誤,也可以發送郵件到svenzeng@tencent.com來討論,先謝謝!?
致謝
雖然在寫作過程中經歷了不少曲折,但最終順利完成。在這里,我想感謝為我提供幫助的所有人。
感謝圖靈的美女編輯Alice,沒有她的幫助,這本書不可能完成。
感謝AlloyTeam團隊中每一個成員對我的指導和幫助,在這里工作不僅是工作,也是生活很重要的一部分。
感謝賀師俊、王集鵠、易鄭超、程劭非幾位老師提供的技術指導和寶貴建議。
感謝設計師“出殼設計”設計的插畫和封面,它們讓內容更加生動有趣。
最后,感謝我的妻子Annie,遇見你,是最美麗的意外。