模式——工程化實現及擴展(設計模式C#版)

模式——工程化實現及擴展(設計模式C#版)

《模式——工程化實現及擴展(設計模式C#版)》是2012年電子工業出版社出版的圖書,作者是王翔孫遜。

基本介紹

  • 書名:模式——工程化實現及擴展(設計模式C#版)
  • 作者:王翔  孫遜 
  • ISBN:978-7-121-15639-7
  • 定價:59.00元
  • 出版時間:2012年4月
出版信息,內容簡介,前 言,目 錄,

出版信息

《模式——工程化實現及擴展(設計模式C#版)》
王翔 孫遜 著
ISBN 978-7-121-15639-7
2012年4月出版
定價:59.00元
16開
408頁
出版社:電子工業出版社

內容簡介

設計模式不是一門適合空談的技術,它來自於開發人員的工程實踐又服務於工程實踐。
本書並不是一本面向入門者的讀物,因為它需要結合工程實踐介紹如何發現模式靈感、如何套用模式技術。不過作為一本介紹設計模式的書,它並不需要讀者對於龐大的.NET Framework有深入了解,因為擴展主要是結合C#語法完成的,配合書中的實例,相信讀者不僅能夠熟練套用設計模式技術,也能令自己的C#語言上一個台階。
為了降低學習門檻,本書第一部分除了介紹面向對象設計原則外,還充實了一些C#語言的介紹,但這些內容並不是枯燥的講解,讀者可以在閱讀中通過一系列動手練習儘快吸收這些理論,並將它們轉化為自己的技能。本書最後一部分的“GOF綜合練習”把各種設計模式進行了一次集中展示,目的是讓讀者把分散的模式知識融合在一起,能夠將書本知識真正用於改善一個“準”生產型模組的實現。
本書內容生動,示例貼近中型、大型項目實踐,通過一個個“四兩撥千斤”的示例練習可以讓讀者有一氣讀完的興趣。

前 言

如同每個人都有其個性一樣,每種開發語言也有自己的個性。
項目中,我們固然可以機械地將一種語言的開發經驗套用到另一種語言,但效果不一定好,因為
語言有自己的短處:用短處去實現不僅費時費力,結果也不理想。
語言有自己的長處:但為了沿用以前的經驗削足適履,沒有用到語言的精要,結果暴殄天物。
相信讀者也發現了,用一個語言寫Hello World是一回事,寫一個套用是一回事,寫好一個套用則完全是另一回事,這就是工程化代碼和“玩具”代碼的區別。教科書上的知識落實到工程上時不能按圖索驥,需要考慮開發語言和目標環境,設計模式也不例外。
也許讀者會覺得本書很多實現方式與《設計模式》介紹的內容不一致,但別忘了《設計模式》一書出版至今已近20年,其間無論是開發語言還是技術平台已經“換了人間”,GOF 23個模式的思想不僅影響著我們,更影響著走在技術前沿的語言設計者、平台設計者。他們也在工作中潛移默化地把模式思想融入自己的工作成果。作為用戶,如果我們“推卻”別人的盛情,所有事情都從“車輪”做起,多少有點不經濟。
作為本系列的C#設計模式分冊,我試圖用最C#的方式將自己對於設計模式的理解呈獻給讀者,而且實現上務求簡潔、直接。結構上,本書分為以下5個部分。
第一部分,預備知識
包括面向對象設計原則中“面向類”的部分、C#語言面向對象擴展特性,以及Java和C#語法特性的簡單對比。
第二部分,創建型模式
主要介紹如何創建對象,如何將客戶程式與創建過程的“變化”有效隔離。
第三部分,結構型模式
從靜態結構出發,分析導致類型結構相互依賴的原因,通過將靜態變化因素抽象、封裝為獨立對象的辦法,梳理對象結構關係。
第四部分,行為型模式
從動態機制出發,分析導致類型調用過程的依賴因素,通過將調用關係、調用過程抽象、封裝為獨立對象的辦法,削弱調用過程中的耦合關係。
第五部分,GOF綜合練習
為了便於讀者從整體上體會模式化設計思路和實現技巧,這部分通過一個綜合性的示例向讀者展示如何發現變化、抽象變化、套用模式並最終結合.NET Framework平台特性加以實現的過程。
不管讀者之前對於模式是否有所嘗試,我希望讀者不妨瀏覽這章,畢竟模式思想轉化為模式設計思路,再轉化為模式套用技巧是一個漸進的過程,必須實際動手才會加深印象,然後才可能進一步開闊思路。本章示例設計上變化因素較多,需要三類模式的綜合運用,務求能起到拋磚引玉的效果。
感謝多年培養、幫助我的領導和同事們,多年富有挑戰、共同拼搏的項目經歷使我能夠完成這本書。
感謝我和我妻子共同的父母,您們一直給予我無私的關心和照顧,還教會我學會從生活中發掘無窮的技術靈感。
最後,感謝我摯愛的妻子,你給予我直面挑戰、戰勝挑戰的信心和力量。
不過,受到開發年限和項目經驗的限制,本書在很多地方難免會有疏漏和不足之處,希望能夠聽到讀者的批評和建議。
王翔

目 錄

第一篇 預備知識—發掘C#語言的面向對象設計潛力1
第1章 面向對象設計原則2
第2章 重新研讀C#語言16
第3章 Java和C#56
第二篇 創建型模式—管理對象實例的構造過程74
第4章 工廠&工廠方法模式75
第5章 單件模式91
第6章 抽象工廠模式106
第7章 創建者模式116
第8章 原型模式131
第三篇 結構型模式—組織靈活的對象體系145
第9章 適配器模式146
第10章 橋模式161
第11章 組合模式177
第12章 裝飾模式190
第13章 外觀模式207
第15章 代理模式221
第四篇 行為型模式—算法、控制流的對象化操作227
第16章 職責鏈模式228
第17章 模板方法模式239
第18章 解釋器模式247
第19章 命令模式262
第20章 疊代器模式276
第21章 中介者模式283
第22章 備忘錄模式294
第23章 觀察者模式307
第24章 狀態模式320
第25章 策略模式332
第26章 訪問者模式339
第五篇 GOF綜合練習349
第27章 GOF部分階段實踐350
附錄 Java和C#關鍵字對照表382

相關詞條

熱門詞條

聯絡我們