模式——工程化实现及扩展(设计模式Java 版)
| -- |
模式——工程化實(shí)現(xiàn)及擴(kuò)展(設(shè)計(jì)模式Java 版)
王翔,孫遜著
ISBN 978-7-121-15638-0
2012年4月出版
定價:59.00元
16開
416頁
內(nèi) 容 簡 介
設(shè)計(jì)模式不是一門適合空談的技術(shù),它來自于開發(fā)人員的工程實(shí)踐又服務(wù)于工程實(shí)踐。
本書并不是一本面向入門者的讀物,因?yàn)樗枰Y(jié)合工程實(shí)踐介紹如何發(fā)現(xiàn)模式靈感、如何應(yīng)用模式技術(shù)。不過作為一本介紹設(shè)計(jì)模式的書,它并不需要讀者對于龐大的JDK有深入了解,因?yàn)閿U(kuò)展主要是結(jié)合Java語法完成的,配合書中的實(shí)例,相信讀者不僅能夠熟練應(yīng)用設(shè)計(jì)模式技術(shù),也能令自己的Java語言上一個臺階。
為了降低學(xué)習(xí)門檻,本書第一部分除了介紹面向?qū)ο笤O(shè)計(jì)原則外,還充實(shí)了一些Java語言的介紹,但這些內(nèi)容并不是枯燥的講解,讀者可以在閱讀中通過一系列動手練習(xí)盡快吸收這些理論并將它們轉(zhuǎn)化為自己的技能。本書最后一部分的“GOF綜合練習(xí)”把各種設(shè)計(jì)模式做了一次集中展示,目的是讓讀者把分散的模式知識融合在一起,能夠?qū)局R真正用于改善一個“準(zhǔn)”生產(chǎn)型模塊的實(shí)現(xiàn)。
本書內(nèi)容生動,示例貼近中型、大型項(xiàng)目實(shí)踐,通過一個個“四兩撥千斤”的示例練習(xí)可以讓讀者有一氣讀完的興趣。
前? 言
如同每個人都有其個性一樣,每種開發(fā)語言也有自己的特點(diǎn)。
項(xiàng)目中,我們固然可以機(jī)械地將一種語言的開發(fā)經(jīng)驗(yàn)套用到另一種語言中,但效果不一定好,因?yàn)?#xff1a;
???? 語言有自己的短處:用短處去實(shí)現(xiàn)需求不僅費(fèi)時費(fèi)力,結(jié)果也不理想。
???? 語言有自己的長處:為了沿用以前的經(jīng)驗(yàn)而“削足適履”,沒有用到語言的精要,結(jié)果暴殄天物。
相信讀者也發(fā)現(xiàn)了,用一種語言寫一個應(yīng)用是一回事,寫好一個應(yīng)用則完全是另一回事,這就是工程化代碼和“玩具”代碼的區(qū)別。教科書上的知識落實(shí)到工程上時不能按圖索驥,需要考慮開發(fā)語言和目標(biāo)環(huán)境,設(shè)計(jì)模式也不例外。
也許讀者會覺得本書中很多實(shí)現(xiàn)方式與《設(shè)計(jì)模式》介紹的內(nèi)容不一致,這是因?yàn)椤对O(shè)計(jì)模式》一書出版至今已近20年,其間無論是開發(fā)語言還是技術(shù)平臺均已經(jīng)“換了人間”。GOF 23個模式的思想不僅影響著我們,更影響著走在技術(shù)前沿的語言設(shè)計(jì)者、平臺設(shè)計(jì)者,他們也在工作中潛移默化地把模式思想融入自己的工作成果,作為用戶,我們“推卻”別人的盛情,所有事情都從“車輪”做起,多少有點(diǎn)不經(jīng)濟(jì)。
作為本系列的Java設(shè)計(jì)模式分冊,我試圖用最Java的方式將自己對于設(shè)計(jì)模式的理解呈獻(xiàn)給讀者,而且實(shí)現(xiàn)上務(wù)求簡潔、直接。結(jié)構(gòu)上,本書分為5個部分:
(1)第一部分:預(yù)備知識
包括面向?qū)ο笤O(shè)計(jì)原則中“面向類”的部分、Java語言面向?qū)ο髷U(kuò)展特性,以及Java和C#語法特性的簡單對比。
(2)第二部分:創(chuàng)建型模式
主要介紹如何創(chuàng)建對象,如何將客戶程序與創(chuàng)建過程的“變化”有效隔離。
(3)第三部分:結(jié)構(gòu)型模式
從靜態(tài)結(jié)構(gòu)出發(fā),分析導(dǎo)致類型結(jié)構(gòu)相互依賴的原因,通過將靜態(tài)變化因素抽象、封裝為獨(dú)立對象的辦法,梳理對象結(jié)構(gòu)關(guān)系。
(4)第四部分:行為型模式
從動態(tài)機(jī)制出發(fā),分析導(dǎo)致類型調(diào)用過程的依賴因素,通過將調(diào)用關(guān)系、調(diào)用過程抽象、封裝為獨(dú)立對象的方法,削弱調(diào)用過程中的耦合關(guān)系。
(5)第五部分:GOF綜合練習(xí)
為了便于讀者從整體上體會模式化設(shè)計(jì)思路和實(shí)現(xiàn)技巧,這部分通過一個綜合性的示例向讀者展示如何發(fā)現(xiàn)變化、抽象變化、應(yīng)用模式并最終結(jié)合Java SE平臺特性落地實(shí)現(xiàn)的過程。
不管之前對于模式是否有所嘗試,我希望讀者不妨瀏覽一下這些內(nèi)容,畢竟模式思想轉(zhuǎn)化為模式設(shè)計(jì)思路,再轉(zhuǎn)化為模式應(yīng)用技巧是一個漸進(jìn)的過程,必須實(shí)際動手才會加深印象,然后才可能進(jìn)一步開闊思路。本章示例設(shè)計(jì)上變化因素較多,需要三類模式的綜合運(yùn)用,務(wù)求能起到拋磚引玉的效果。
感謝多年培養(yǎng)、幫助我的領(lǐng)導(dǎo)和同事們,多年富有挑戰(zhàn)、共同拼搏的項(xiàng)目經(jīng)歷使我能夠完成這本書。
感謝我和我妻子共同的父母,他們一直給予我無私的關(guān)心和照顧,還教會我學(xué)會從生活中發(fā)掘無窮的技術(shù)靈感。
最后,感謝我摯愛的妻子,是她給予我直面挑戰(zhàn)、戰(zhàn)勝挑戰(zhàn)的信心和力量。
受到自己開發(fā)年限和項(xiàng)目經(jīng)驗(yàn)的限制,本書難免有疏漏和不足之處,希望能夠聽到您的批評和建議。
?
王翔????????????????????
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的模式——工程化实现及扩展(设计模式Java 版)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到家人喝农药怎么回事
- 下一篇: Java开发环境搭建详解