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