出版時(shí)間:2010-8 出版社:電子工業(yè) 作者:楊帆//王鈞玉//孫更新 頁數(shù):524
Tag標(biāo)簽:無
前言
自GoF推出《設(shè)計(jì)模式》這本經(jīng)典書籍以來,在軟件設(shè)計(jì)界,學(xué)習(xí)使用模式的風(fēng)潮就沒有停止過,設(shè)計(jì)模式是前人對于軟件設(shè)計(jì)經(jīng)驗(yàn)的總結(jié),非常具有學(xué)習(xí)的價(jià)值。 本書的作者具有豐富的實(shí)際開發(fā)經(jīng)驗(yàn)和培訓(xùn)經(jīng)驗(yàn),鑒于多年的培訓(xùn)工作和軟件開發(fā)經(jīng)歷,他們能很好地把握初學(xué)者對于模式的學(xué)習(xí)需求。本書是設(shè)計(jì)模式的實(shí)用性入門和進(jìn)階書籍,內(nèi)容安排上注重實(shí)用,可以使初學(xué)者迅速學(xué)以致用。本書非常適合熟悉Java編程但是對設(shè)計(jì)模式經(jīng)驗(yàn)相對較少的讀者閱讀?! ”緯捎冒咐?qū)動(dòng)的形式,用一套完整的超市系統(tǒng)統(tǒng)領(lǐng)全書。書中第1章-第3章介紹了面向?qū)ο蟮脑O(shè)計(jì)方法以及設(shè)計(jì)模式的起源和優(yōu)點(diǎn),講解了UML的發(fā)展歷史以及常見的關(guān)系圖。
內(nèi)容概要
本書使用Java語言來描述經(jīng)典的GoF23設(shè)計(jì)模式,在講解過程中涉及了JDK 6.0中的新特性,全書采用案例驅(qū)動(dòng)的形式,由一個(gè)完整的超市系統(tǒng)案例統(tǒng)領(lǐng)了全部知識點(diǎn)。本書以案例項(xiàng)目工程為主線,以應(yīng)用為目的,循序漸進(jìn)地講解了設(shè)計(jì)模式的具體應(yīng)用方法,易學(xué)易用,并且結(jié)合案例驅(qū)動(dòng)形式,可以使讀者將各種設(shè)計(jì)模式真正運(yùn)用到實(shí)際開發(fā)中,避免理論與實(shí)踐脫節(jié)的問題。 本書適用于對設(shè)計(jì)模式不甚了解的初學(xué)者,同時(shí)也適合具有一定編程基礎(chǔ)、需要提高實(shí)踐技術(shù)的程序員作為參考用書。本書還可作為高等院校計(jì)算機(jī)等專業(yè)及相關(guān)培訓(xùn)學(xué)校的指導(dǎo)教材。
書籍目錄
第1章 設(shè)計(jì)模式初見第2章 面向?qū)ο笤O(shè)計(jì)原則第3章 統(tǒng)一建模語言UML概述第4章 工廠方法模式(Factory Method)第5章 抽象工廠模式(Abstract Factory)第6章 建造者模式(Builder Factory)第7章 原型模式(Prototype)第8章 單例模式(Singleton)第9章 適配器模式(Adapter)第10章 橋接模式(Bridge)第11章 代理模式(Proxy)第12章 外觀模式(Facade)第13章 裝飾模式(Decorator)第14章 組合模式(Composite)第15章 享元模式(Flyweight)第16章 命令模式(Command)第17章 觀察者模式(Observer)第18章 責(zé)任鏈模式(Chain of Responsibility)第19章 迭代器模式(Iterator)第20章 訪問者模式(Visitor)第21章 狀態(tài)模式(State) 第22章 備忘錄模式(Memento)第23章 策略模式(Strategy)第24章 調(diào)停者模式(Mediator)第25章 模板方法模式(Template Method)第26章 解釋器模式(Interpreter)第27章 設(shè)計(jì)模式總結(jié)
章節(jié)摘錄
第1章 設(shè)計(jì)模式初見 設(shè)計(jì)模式(DesignPattern)是一套經(jīng)過分類的、被反復(fù)使用的軟件代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了可復(fù)用代碼,讓代碼更容易被理解,保證代碼的可靠性。通常來說,設(shè)計(jì)模式是軟件復(fù)用的基礎(chǔ)理論,它使代碼編制真正工程化。 設(shè)計(jì)模式最初是在建筑學(xué)中被提出的,建筑師克里斯托佛·亞歷山大在1970年代編撰了一本匯集設(shè)計(jì)模式的書,但是設(shè)計(jì)模式的思想在建筑設(shè)計(jì)領(lǐng)域里的影響遠(yuǎn)沒有后來在軟件開發(fā)領(lǐng)域里傳播得廣泛和深遠(yuǎn)?! ≤浖O(shè)計(jì)中的設(shè)計(jì)模式是在GoF(“四人幫”,指Gamma、Helm、JollIlson&Vlissides、Addison—Wesley四人)合著的《設(shè)計(jì)模式》一書中第一次提出的,隨后被規(guī)范化。本書提出的23種基本設(shè)計(jì)模式便屬于《設(shè)計(jì)模式》中所提及的經(jīng)典的模式?! ?.1 一切從某個(gè)小超市開始 在軟件工程領(lǐng)域中研究一種具體的技術(shù),通常都會借助一個(gè)具體的案例來分析和學(xué)習(xí),在本書中也不例外,在每一章節(jié)的學(xué)習(xí)過程中,讀者除了要學(xué)習(xí)和分析模式的案例,還將學(xué)習(xí)如何使用設(shè)計(jì)模式來解決一個(gè)現(xiàn)實(shí)工程中存在的問題。 各章節(jié)的案例都來源于一個(gè)“超市”案例,因?yàn)椤俺小睂τ诖蟊妬碚f都比較熟悉,其中發(fā)生的問題也比較容易理解?! ≤浖O(shè)計(jì)中的超市是什么樣子的呢?其實(shí)本軟件設(shè)計(jì)中就是使用軟件來模擬人經(jīng)營一個(gè)超市,現(xiàn)實(shí)生活中的超市中發(fā)生的各種情況在軟件環(huán)境中都要提及并加以處理。比如要進(jìn)行商品的上架、倉庫進(jìn)貨、打折銷售、客戶服務(wù)、廣告宣傳等。 在學(xué)習(xí)每一個(gè)模式時(shí),為了達(dá)到良好的學(xué)習(xí)效果,讀者最好能了解一下每一章涉及的超市問題發(fā)生的原因及需求,這對理解模式的意圖是十分關(guān)鍵的?! ?.2 為何使用設(shè)計(jì)模式 要回答為何要使用設(shè)計(jì)模式這個(gè)問題,必須要知道設(shè)計(jì)模式的優(yōu)點(diǎn)。設(shè)計(jì)模式的優(yōu)點(diǎn)如下:復(fù)用解決方案 在代碼設(shè)計(jì)中通常會遇到需要設(shè)計(jì)的方案和以前設(shè)計(jì)的某個(gè)方案類似的問題,比如之前已經(jīng)設(shè)計(jì)過一個(gè)論壇系統(tǒng),現(xiàn)在又要設(shè)計(jì)一個(gè)討論版系統(tǒng)。這時(shí),比較好的解決方案就是最大限度地利用之前設(shè)計(jì)的代碼?! ≡O(shè)計(jì)模式的主要思想就是“復(fù)用”,通過復(fù)用已經(jīng)確認(rèn)的設(shè)計(jì),能夠在解決問題的過程中使用最小的成本獲得最大的效益,而且可以在學(xué)習(xí)他人經(jīng)驗(yàn)的過程中獲利,不用再為那些總是會重復(fù)出現(xiàn)的問題重復(fù)設(shè)計(jì)解決方案。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載