出版時(shí)間:2009-7 出版社:清華大學(xué)出版社 作者:徐宏礎(chǔ)〉缺嘀 頁數(shù):335
前言
設(shè)計(jì)模式是面向?qū)ο缶幊痰臒衢T話題之一,隨著軟件工程學(xué)研究的不斷深入以及軟件工程學(xué)方法在軟件開發(fā)實(shí)踐中的應(yīng)用,越來越多的研究人員和開發(fā)人員都認(rèn)識(shí)到設(shè)計(jì)模式的重要性。但是多數(shù)開發(fā)人員發(fā)現(xiàn),將設(shè)計(jì)模式與實(shí)際開發(fā)中需要解決的具體問題相聯(lián)系是一件困難的事情,對(duì)編程實(shí)踐經(jīng)驗(yàn)較少的大專院校學(xué)生更是如此; 使用設(shè)計(jì)模式的難點(diǎn)往往不在于模式的實(shí)現(xiàn),而在于很難確定哪種模式可以用在當(dāng)前現(xiàn)實(shí)的應(yīng)用場景中。有些時(shí)候因?yàn)楦拍畈磺?、理解偏差而選擇了不恰當(dāng)?shù)脑O(shè)計(jì)模式,還會(huì)使原本簡單的問題變得復(fù)雜化,背離了使用設(shè)計(jì)模式的初衷。本書編者在數(shù)十年的項(xiàng)目開發(fā)實(shí)踐中積累了豐富的開發(fā)經(jīng)驗(yàn),在近年來的項(xiàng)目開發(fā)中,也有意識(shí)地大量使用設(shè)計(jì)模式來提高系統(tǒng)的可復(fù)用性。在對(duì)各類設(shè)計(jì)模式的使用中常常沉醉于設(shè)計(jì)模式精妙的構(gòu)思和優(yōu)雅的結(jié)構(gòu)中,于是產(chǎn)生了編寫一本用實(shí)例來透徹講解設(shè)計(jì)模式用法的參考書的想法,鑒于高等院校對(duì)設(shè)計(jì)模式相關(guān)教材的迫切需要,因此決定將書稿以教材的形式撰寫。本書嚴(yán)格執(zhí)行面向?qū)ο笤O(shè)計(jì)標(biāo)準(zhǔn),書中大量使用的類圖都是遵循UML 2.0標(biāo)準(zhǔn)繪制的。書中主要使用實(shí)例講解每個(gè)設(shè)計(jì)模式,使讀者易于理解、便于使用。最后一章還用項(xiàng)目開發(fā)實(shí)踐中的實(shí)例作為例子,介紹各種設(shè)計(jì)模式在實(shí)際項(xiàng)目中綜合應(yīng)用的方法。本書是一本體系完整的教材,每章后面都安排有課后習(xí)題,還計(jì)劃出版配套的題解和上機(jī)輔導(dǎo)教材。本書的章節(jié)安排: 第1章緒論,從軟件危機(jī)的產(chǎn)生以及軟件方法學(xué)的形成入手,概要介紹了軟件工程學(xué)的發(fā)展和基本方法。第2章面向?qū)ο蠓椒ǜ攀?,詳?xì)分析了面向?qū)ο蠓椒?,從面向?qū)ο蠓椒ǖ漠a(chǎn)生、面向?qū)ο蠓椒ǖ母拍钜隽嗣嫦驅(qū)ο蠓椒ǖ膬?yōu)勢(shì),并結(jié)合一個(gè)具體的應(yīng)用系統(tǒng)實(shí)例,細(xì)致分析了面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計(jì)、面向?qū)ο缶幊虒?shí)現(xiàn)的主要步驟和方法。第3章UML建模語言,簡單介紹了UML建模語言及幾種常用模型的使用。第4章軟件設(shè)計(jì)模式基礎(chǔ),概要介紹了軟件設(shè)計(jì)模式的概念、原則、分類以及構(gòu)成的基本要素。第5章、第6章和第7章按創(chuàng)建型、結(jié)構(gòu)型、行為型分類,詳細(xì)分析了22種設(shè)計(jì)模式。在介紹每個(gè)模式時(shí),以一個(gè)軟件設(shè)計(jì)開發(fā)中的實(shí)際問題引導(dǎo),探討一般實(shí)現(xiàn)方法的缺陷,進(jìn)而介紹新模式的結(jié)構(gòu),再以一個(gè)實(shí)際的例子展現(xiàn)模式的編程方法,最后對(duì)使用模式的效果進(jìn)行分析。第8章軟件架構(gòu)與架構(gòu)建模技術(shù),介紹軟件架構(gòu)的定義和發(fā)展史,分析了幾種常用的軟件架構(gòu)模式,并簡要介紹了軟件架構(gòu)建模技術(shù)。第9章軟件架構(gòu)中的集成技術(shù),以CORBA、EJB、COM+為例簡要介紹了目前較流行的企業(yè)級(jí)的軟件架構(gòu)集成技術(shù)。第10章應(yīng)用實(shí)例,在兩個(gè)實(shí)例中集中使用了多種設(shè)計(jì)模式,展示了設(shè)計(jì)模式在具體設(shè)計(jì)和開發(fā)實(shí)踐中的應(yīng)用。本書由徐宏喆、侯迪等編寫。在此謹(jǐn)對(duì)所有曾經(jīng)支持和幫助過我們的同志和朋友表示真摯的謝意。由于我們水平有限,時(shí)間緊迫,書中難免有疏漏和不妥之處,盼望專家和廣大讀者不吝指正。本書受到教育部“網(wǎng)絡(luò)工程”第二類特色專業(yè)項(xiàng)目(TS2387)資助,特此致謝。
內(nèi)容概要
設(shè)計(jì)模式是面向?qū)ο缶幊痰臒衢T話題之一,也是近年來國內(nèi)外廣泛使用和研究的熱點(diǎn),國內(nèi)不少高校也已經(jīng)陸續(xù)開設(shè)了設(shè)計(jì)模式的課程。但是設(shè)計(jì)模式涉及的概念很多,結(jié)構(gòu)復(fù)雜,內(nèi)容廣泛,使不少人感到學(xué)習(xí)難度較大,難以入門。 本書作者參閱了國內(nèi)外多種設(shè)汁模式的教材,認(rèn)真分析了學(xué)習(xí)者在學(xué)習(xí)過程中遇到的困難,用大量應(yīng)用實(shí)例深入淺出地講解設(shè)計(jì)模式的使用方法和實(shí)際效果。使讀者易于理解、便于使用。本書設(shè)計(jì)了讀者易于學(xué)習(xí)的教材體系,并且以通俗易懂的語言化解了許多復(fù)雜的概念,大大減少了初學(xué)者學(xué)習(xí)設(shè)計(jì)模式的困難。 本書是為有一定編程基礎(chǔ)的讀者編寫的,主要介紹設(shè)計(jì)模式的知識(shí)和開發(fā)方法。本書內(nèi)容全面,概念清晰,例題豐富,循序漸進(jìn),易于學(xué)習(xí)。 本書是大學(xué)計(jì)算機(jī)專業(yè)本科生、研究生學(xué)習(xí)設(shè)計(jì)模式的基礎(chǔ)教材,也可以作為從事軟件研究和軟件開發(fā)工作有關(guān)人員的參考書。
書籍目錄
第1部分 面向?qū)ο蟮幕驹怼〉?章 緒論 1.1 軟件危機(jī)及軟件方法學(xué)的形成 1.1.1 軟件危機(jī)的概況 1.1.2 軟件危機(jī)的主要表現(xiàn) 1.1.3 軟件危機(jī)的原因 1.1.4 軟件危機(jī)的解決途徑及軟件方法學(xué)的形成 1.2 結(jié)構(gòu)化程序設(shè)計(jì)方法 1.2.1 結(jié)構(gòu)化程序設(shè)計(jì)方法概述 1.2.2 結(jié)構(gòu)化分析與設(shè)計(jì) 1.3 面向?qū)ο蠓椒? 1.3.1 面向?qū)ο蠓椒ǜ攀觥? 1.3.2 軟件設(shè)計(jì)模式 1.3.3 大規(guī)模軟件架構(gòu)技術(shù) 1.4 軟件生存周期 1.4.1 軟件工程各階段的劃分 1.4.2 各階段的主要工作 1.5 軟件開發(fā)過程模型 1.5.1 瀑布模型 1.5.2 原型模型 1.5.3 噴泉模型 1.5.4 螺旋模型 本章小結(jié) 習(xí)題 參考文獻(xiàn) 第2章 面向?qū)ο蠓椒ǜ攀? 2.1 面向?qū)ο蠓椒ǖ漠a(chǎn)生 2.2 面向?qū)ο蠓椒ǖ母拍? 2.2.1 面向?qū)ο蠓椒ǖ幕靖拍睢? 2.2.2 面向?qū)ο蠓椒ㄅc面向過程方法 2.3 面向?qū)ο蟪绦蛟O(shè)計(jì)作用 2.3.1 復(fù)雜性的維護(hù) 2.3.2 生產(chǎn)率的提高 2.3.3 優(yōu)良的可復(fù)用性 2.4 面向?qū)ο蠓椒ㄩ_發(fā)過程 2.4.1 面向?qū)ο蠓治觥? 2.4.2 面向?qū)ο笤O(shè)計(jì) 2.4.3 面向?qū)ο缶幊虒?shí)現(xiàn) 本章小結(jié) 習(xí)題 參考文獻(xiàn)第2部分 UML與面向?qū)ο蟮能浖? 第3章 UML建模語言 3.1 UML簡介 3.1.1 面向?qū)ο蟮拈_發(fā)方法 3.1.2 UML的發(fā)展 3.1.3 什么是UML 3.1.4 UML概述 3.2 經(jīng)常使用的模型 3.2.1 用例圖 3.2.2 順序圖 3.2.3 協(xié)作圖 3.2.4 狀態(tài)圖 3.2.5 活動(dòng)圖 3.3 對(duì)象約束語言 3.3.1 初識(shí)0CL 3.3.2 0CL與UML模型元素 3.3.3 基本類型和值 3.3.4 對(duì)象及其屬性 3.3.5 集合操作 3.3.6 消息 本章小結(jié) 習(xí)題 參考文獻(xiàn) 第4章 軟件設(shè)計(jì)模式基礎(chǔ)第3部分 面向?qū)ο蟮能浖O(shè)計(jì)模式 第5章 創(chuàng)建型設(shè)計(jì)模式 第6章 結(jié)構(gòu)型設(shè)計(jì)模式 第7章 行為型設(shè)計(jì)模式第4部分 面向?qū)ο蠹夹g(shù)的高級(jí)課題 第8章 軟件架構(gòu)與架構(gòu)建模技術(shù) 第9章 軟件架構(gòu)集成技術(shù) 第10章 綜合實(shí)例附錄A C#語言入門
章節(jié)摘錄
插圖:第1部分 面向?qū)ο蟮幕驹淼?章 面向?qū)ο蠓椒ǜ攀霰菊率紫群唵蔚亟榻B了面向?qū)ο蠓椒ǖ漠a(chǎn)生、發(fā)展史及現(xiàn)狀,在此基礎(chǔ)上介紹面向?qū)ο蠓椒ǖ囊恍┗舅枷搿⒅饕拍詈突驹瓌t,并和傳統(tǒng)的面向過程方法做一個(gè)比較。隨后本章著重講述了面向?qū)ο蠓椒ǖ淖饔眉懊嫦驅(qū)ο笳Z言和開發(fā)環(huán)境。通過本章的學(xué)習(xí),讀者應(yīng)該能了解面向?qū)ο蠓椒ǖ闹饕獌?nèi)容,掌握基本知識(shí),為進(jìn)一步學(xué)習(xí)利用面向?qū)ο蠓椒ê驮O(shè)計(jì)模式方法打下良好的基礎(chǔ)。2.1 面向?qū)ο蠓椒ǖ漠a(chǎn)生下面回顧一下計(jì)算機(jī)語言的發(fā)展過程,看看面向?qū)ο蟮姆椒ㄊ侨绾萎a(chǎn)生的。1.第一階段:雛形階段20世紀(jì)50年代中期,出現(xiàn)了高級(jí)的程序設(shè)計(jì)語言FORTRAN,它在計(jì)算機(jī)語言的發(fā)展史上具有劃時(shí)代的意義。該語言引進(jìn)了許多現(xiàn)在仍然在使用的程序設(shè)計(jì)概念。但是,該語言在使用中也發(fā)現(xiàn)了一些不足。如不同部分的相同變量名容易發(fā)生混淆等。20世紀(jì)60年代開發(fā)的Simula67,是面向?qū)ο笳Z言的鼻祖。它將Algol60中的塊結(jié)構(gòu)概念向前推進(jìn)了一大步,提出了對(duì)象的概念。對(duì)象是代表著待處理問題中的一個(gè)實(shí)體,在處理問題過程中,一個(gè)對(duì)象可以以某種形式與其他對(duì)象通信。Simula語言中也使用了類的概念,類是用來描述特性相同或相近的一組對(duì)象的結(jié)構(gòu)和行為。該語言還支持類的繼承。繼承可以將多個(gè)類組成為層次結(jié)構(gòu),進(jìn)而允許共享的結(jié)構(gòu)和行為。
編輯推薦
《實(shí)用軟件設(shè)計(jì)模式教程》:反映國內(nèi)外領(lǐng)先的技術(shù)發(fā)展成果和學(xué)術(shù)界對(duì)先進(jìn)技術(shù)的需求,用大量篇幅講述用于解決實(shí)際問題的具體模式和架構(gòu),書中的精選案例旨在強(qiáng)調(diào)工程實(shí)踐能力的培養(yǎng),使學(xué)生能夠運(yùn)用先進(jìn)的工程化和系統(tǒng)化方法從事軟件的設(shè)計(jì)與開發(fā),從多方面培養(yǎng)學(xué)生的實(shí)踐動(dòng)手能力,所有課程內(nèi)容按照模塊和章節(jié)的方式組織,便于計(jì)算機(jī)各專業(yè)以及不同層次的讀者調(diào)整和組合,內(nèi)容緊湊,各章節(jié)連接緊密,知識(shí)體系結(jié)構(gòu)完整,適合作為計(jì)算機(jī)專業(yè)高年級(jí)本科生以及研究生的專業(yè)課教材,要求讀者具有一定的計(jì)算機(jī)基本理論基礎(chǔ),包括計(jì)算機(jī)語言、面向?qū)ο笠约败浖こ痰母拍睢?/pre>圖書封面
評(píng)論、評(píng)分、閱讀與下載
- 還沒讀過(60)
- 勉強(qiáng)可看(439)
- 一般般(749)
- 內(nèi)容豐富(3107)
- 強(qiáng)力推薦(254)
實(shí)用軟件設(shè)計(jì)模式教程 PDF格式下載