出版時間:2010-6 出版社:人民郵電出版社 作者:(美)埃斯波西托 等編著 頁數(shù):412 譯者:陳黎夫
Tag標(biāo)簽:無
前言
正確的判斷來自于經(jīng)驗,而經(jīng)驗則來自于錯誤的判斷?!狥red Brooks每次遇到軟件項目時,我們都會創(chuàng)建一個解決方案。這個過程就叫做架構(gòu)設(shè)計,而架構(gòu)設(shè) 計的最終產(chǎn)物就是軟件架構(gòu)。軟件架構(gòu)可以分為隱式和顯式兩種。隱式架構(gòu)是指那些在我們頭腦中描繪出的設(shè)計,往往寫在Microsoft Office Word文檔或記事 本上。隱式架構(gòu)可以看做是一系列原有經(jīng)驗,其他類似項目中學(xué)到的技巧以及將抽象的概念進(jìn) 行組織并應(yīng)用到手頭項目中的能力。例如,若你是個專業(yè)的木匠,那么顯然不需要為了給寵物 狗造窩而大動干戈地繪圖或精確測量,只要幾分鐘你就能想出一個隱式的架構(gòu)。隨后便可直奔 主題開始工作,僅僅在必要的時候進(jìn)行合適的判斷即可。這樣在項目結(jié)束時,結(jié)果也會很不錯。若項目干系人的想法過于復(fù)雜精細(xì),以至于無法用經(jīng)驗和頭腦中的想法來處理,則需要采 用顯式架構(gòu)。這時,你就需要做一些有預(yù)見性的規(guī)劃并獲取一定的指導(dǎo),然后應(yīng)用合理的模式 和實踐,以期實現(xiàn)最終的目標(biāo)。架構(gòu)是什么“架構(gòu)”這個詞已被用在很多不同的上下文中。其定義可以在《牛津英語詞典》或軟件領(lǐng)域 中的美國國家標(biāo)準(zhǔn)學(xué)會(American National Standards Institute,ANSI)/電氣和電子工程師學(xué)會(Institute 0f Electrical and:Electronics Engineers,IEEE)的標(biāo)準(zhǔn)庫中找到。在ANSI和IEEE的釋義中,架構(gòu)的定義主要包括規(guī)劃、設(shè)計以及創(chuàng)建軟件的過程。軟件架構(gòu)是指那些用來為項目干系人提供足夠說明(如某個用戶需求)的一些人工產(chǎn)物。
內(nèi)容概要
本書主要介紹了.NET平臺下企業(yè)級架構(gòu)設(shè)計開發(fā)的指導(dǎo)原則、最佳實踐和模式等。書中第一部分介紹了軟件設(shè)計基本原則以及架構(gòu)的相關(guān)概念;第二部分按照業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層、表現(xiàn)層和服務(wù)層進(jìn)行了說明,并詳細(xì)分析了各層中的常見模式?! ∽髡逥ino曾撰寫多部.NET相關(guān)的暢銷著作,雖然本書涉及架構(gòu)這個高端主題,但其文字生動活潑,行文一氣呵成。本書適合中高級.NET開發(fā)人員、軟件架構(gòu)師以及有志于成為軟件架構(gòu)師的讀者閱讀。
作者簡介
作者:(美國)埃斯波西托(Dino Esposito) (美國)薩爾塔列洛(Andrea Saltarello) 譯者:陳黎夫埃斯波西托,(Dino Esposito)是一位ASP NET和AJAX方面的專家、受人歡迎的演講者,并經(jīng)常為MSDN Magazine撰寫文章。他曾存Microsoft Press出版多本著作,包括《Prog rammingMic rosoft ASP.NET 3.5》和《IntroducingMicrosoft ASP.NET AJAX》等。薩爾塔列洛,(Andrea Saltarello)是一位解決方案架構(gòu)師、咨詢師和培訓(xùn)師,居住于意大利米蘭。作為微軟公司ASP.NET方面的MVP,他管理著意大利的微軟.NET用戶組,并經(jīng)常在各種業(yè)界會議中演講。
書籍目錄
第一部分 設(shè)計原則 第1章 當(dāng)代的架構(gòu)師和架構(gòu) 1.1 軟件架構(gòu)到底是什么 1.1.1 將架構(gòu)原則應(yīng)用至軟件中 1.1.2 什么屬于架構(gòu),什么不屬于 1.1.3 架構(gòu)與決定相關(guān) 1.1.4 軟件的需求和質(zhì)量 1.2 架構(gòu)師到底是什么 1.2.1 架構(gòu)師的職責(zé) 1.2.2 你知道有多少種架構(gòu)師嗎 1.2.3 對架構(gòu)師的一些常見誤解 1.3 軟件開發(fā)流程概覽 1.3.1 軟件生命周期 1.3.2 軟件開發(fā)模型 1.4 小結(jié) 1.5 本章的墨菲法則 第2章 UML必要知識 2.1 UML概覽 2.1.1 建模語言的出現(xiàn)動機和歷史 2.1.2 UML的模式和使用方法 2.2 UML圖表 2.2.1 用例圖 2.2.2 類圖 2.2.3 順序圖 2.3 小結(jié) 2.4 本章的墨菲法則 第3章 設(shè)計原則和模式 3.1 基本設(shè)計原則 3.1.1 警鐘因何而鳴 3.1.2 結(jié)構(gòu)化設(shè)計 3.1.3 分離關(guān)注點 3.2 面向?qū)ο笤O(shè)計 3.2.1 面向?qū)ο蠡驹O(shè)計原則 3.2.2 高級原則 3.3 從原則到模式 3.3.1 模式究竟是什么 3.3.2 模式vs. 慣用法 3.3.3 依賴注入 3.4 在設(shè)計時就考慮需求 3.4.1 可測試性 3.4.2 安全性 3.5 從對象到方面 3.5.1 面向方面編程 3.5.2 AOP實戰(zhàn) 3.6 小結(jié) 3.7 本章的墨菲法則 第二部分 系統(tǒng)設(shè)計 第4章 業(yè)務(wù)層 第5章 服務(wù)層 第6章 數(shù)據(jù)訪問層 第7章 表現(xiàn)層 附錄A Northwind Starter Kit 最后的思考
章節(jié)摘錄
插圖:在20世紀(jì)60年代計算機剛剛出現(xiàn)的時候,硬件的成本要遠(yuǎn)遠(yuǎn)高于軟件上的開銷。但在40多年后的今天,這種狀況發(fā)生了翻天覆地的改變。業(yè)界的不斷努力讓硬件成本有了大幅的下降,而軟件開發(fā)上的開銷卻有了很大程度的增加,其最主要的原因是自定義企業(yè)級軟件開發(fā)復(fù)雜度的提升。廉價的硬件成本讓公司更加有理由為其信息系統(tǒng)添加新功能。原本只有一些獨立、互不干涉的應(yīng)用程序,并且這些程序很少共享數(shù)據(jù),而今卻變成了一個復(fù)雜的系統(tǒng),其中包含有很多互相關(guān)聯(lián)而又各司其職的功能和模塊。在這種情況下,我們迫切需要一系列能夠指導(dǎo)工程師開發(fā)此類系統(tǒng)的原則。當(dāng)代的軟件系統(tǒng)——或者參考國際標(biāo)準(zhǔn),叫做軟件密集型系統(tǒng)可以很自然地與那些要從詳細(xì)設(shè)計圖開始的復(fù)雜建筑工程相提并論。“架構(gòu)”一詞起源于建筑工程,現(xiàn)在已被用于描述規(guī)劃、設(shè)計并實現(xiàn)軟件密集型系統(tǒng)的藝術(shù)。在軟件領(lǐng)域中,架構(gòu)對于藝術(shù)性的要求卻沒有建筑中的那么高。良好設(shè)計的建筑物既給人帶來強烈的視覺震撼,同時也能滿足使用者的功能需要。而軟件設(shè)計的評價則更加客觀一些——要么是滿足了需求,要么是沒有滿足。設(shè)計者一般不會考慮藝術(shù)性,除非這藝術(shù)性體現(xiàn)在某個精心設(shè)計的算法或用戶界面之上。本書的一個作者曾經(jīng)與一個架構(gòu)工作室有著密切的來往。有一天,在討論時遇到了這樣一個問題:什么是架構(gòu)?是一種藝術(shù),還是僅僅為了滿足客戶的需求?在軟件領(lǐng)域中,架構(gòu)就是指為客戶構(gòu)建系統(tǒng)。
編輯推薦
《Microsoft .NET企業(yè)級應(yīng)用架構(gòu)設(shè)計》:游刃有余地控制復(fù)雜性設(shè)計高效的企業(yè)級解決方案在一開始就要做出正確的架構(gòu)決策,從而提高產(chǎn)品的質(zhì)量和可靠性?!禡icrosoft .NET企業(yè)級應(yīng)用架構(gòu)設(shè)計》由兩位企業(yè)級系統(tǒng)開發(fā)專家執(zhí)筆,會告訴你如何用各種模式和技術(shù)來控制項目的復(fù)雜性,讓系統(tǒng)更易于編寫、維護和升級。讀者會得到實用的架構(gòu)方面的指導(dǎo),包括:·在早期設(shè)計師就考慮到可測試性、可維護性和安全性·通過面向服務(wù)的接口暴露業(yè)務(wù)邏輯·選擇最佳的模式來組織業(yè)務(wù)邏輯和行為·了解并使用模式來分離Ul和表現(xiàn)層邏輯·深入探究數(shù)據(jù)訪問層的模式和最佳實踐·為對象和數(shù)據(jù)之間的轉(zhuǎn)換提供良好的解決方案·降低開發(fā)工作量,避免過度設(shè)計,建造更強壯的系統(tǒng)
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Microsoft .NET企業(yè)級應(yīng)用架構(gòu)設(shè)計 PDF格式下載