出版時間:2011-12-31 出版社:機(jī)械工業(yè)出版社華章公司 作者:汪洋
Tag標(biāo)簽:無
內(nèi)容概要
國內(nèi)首本講解企業(yè)級.net應(yīng)用架構(gòu)與設(shè)計的專著,由國內(nèi)經(jīng)驗(yàn)豐富的.net專家和架構(gòu)師親自執(zhí)筆,權(quán)威性毋庸置疑。本書的重點(diǎn)不在于架構(gòu)與設(shè)計的理論,而是從實(shí)踐的角度出發(fā),結(jié)合大量示例和一個完整的項(xiàng)目案例循序漸進(jìn)地講解了.net應(yīng)用架構(gòu)與設(shè)計的方法、流程、原則、模式和最佳實(shí)踐,實(shí)踐指導(dǎo)意義極強(qiáng)。本書在寫作方式上打破了傳統(tǒng)的知識灌輸方式,而是用逐步演進(jìn)的方式去引導(dǎo)和啟發(fā)讀者的抽象思維和宏觀思想,從而讓讀者快速掌握架構(gòu)與設(shè)計的精髓。
《.net應(yīng)用架構(gòu)設(shè)計:原則、模式與實(shí)踐》一共分為三個部分:第一部分首先介紹了企業(yè)應(yīng)用架構(gòu)與設(shè)計的流程和核心概念,然后講解了應(yīng)用架構(gòu)中常用的設(shè)計模式和設(shè)計原則,以及常用的幾種設(shè)計方法;第二部分的主題是架構(gòu)與設(shè)計的方法和最佳實(shí)踐,既對架構(gòu)分層的相關(guān)知識進(jìn)行了詳細(xì)的闡述,又用大量實(shí)戰(zhàn)案例對業(yè)務(wù)層、服務(wù)層、數(shù)據(jù)訪問層、數(shù)據(jù)存儲層、顯示層的原理和設(shè)計進(jìn)行了深入的剖析;第三部分以一個真實(shí)的項(xiàng)目案例(已上線)演示了企業(yè)級應(yīng)用的架構(gòu)與設(shè)計的流程和方法,旨在幫助讀者將前面所學(xué)的知識融會貫通,從而真正達(dá)到能動手實(shí)踐的目的。
作者簡介
汪洋(Richard Wang),資深架構(gòu)師和.NET技術(shù)專家。一直戰(zhàn)斗在一線,實(shí)踐經(jīng)驗(yàn)極其豐富?,F(xiàn)就職于惠普公司,擔(dān)任技術(shù)架構(gòu)師和信息分析師。同時他還是上海益思研發(fā)管理咨詢有限公司首席架構(gòu)師、軟件咨詢組副組長。曾在世界500強(qiáng)的在華日企擔(dān)任架構(gòu)師,負(fù)責(zé)項(xiàng)目業(yè)務(wù)框架和平臺設(shè)計,曾帶領(lǐng)創(chuàng)業(yè)團(tuán)隊與國內(nèi)外企業(yè)進(jìn)行項(xiàng)目合作。51CTO、博客園、ITPUB、China Unix等IT社區(qū)的知名博客和技術(shù)專家。CSDN和IrifoQ的特約技術(shù)作家。2011年曾多次應(yīng)邀在架構(gòu)師大會、亞太軟件研發(fā)管理峰會和中國軟件開發(fā)大會等技術(shù)盛會上擔(dān)任演講嘉賓,深受與會者歡迎。此外,他還在為國內(nèi)多家軟件企業(yè)開展軟件架構(gòu)與性能優(yōu)化方面的培訓(xùn)。
書籍目錄
前言
第一部分 架構(gòu)與設(shè)計的原則和模式
第1章 架構(gòu)與設(shè)計的流程和核心概念
1.1 正確認(rèn)識軟件架構(gòu)
1.1.1 什么是架構(gòu)
1.1.2 架構(gòu)師的職責(zé)
1.1.3 架構(gòu)設(shè)計
1.1.4 架構(gòu)設(shè)計的優(yōu)點(diǎn)
1.2 正確理解設(shè)計的含義
1.2.1 設(shè)計的重要性
1.2.2 架構(gòu)和設(shè)計的關(guān)系
1.3 架構(gòu)設(shè)計中的重要概念
1.3.1 tier和layer
1.3.2 架構(gòu)與框架
1.3.3 架構(gòu)與模式
1.4 本章小結(jié)
第2章 模式、設(shè)計原則和方法
2.1 設(shè)計原則與軟件設(shè)計
2.1.1 設(shè)計原則簡述
2.1.2 設(shè)計原則實(shí)戰(zhàn)
2.2 設(shè)計模式
2.2.1 設(shè)計模式簡介
2.2.2 正確使用設(shè)計模式
2.2.3 設(shè)計模式實(shí)戰(zhàn)
2.3 企業(yè)應(yīng)用架構(gòu)模式
2.3.1 什么是企業(yè)架構(gòu)
2.3.2 什么是企業(yè)級開發(fā)
2.3.3 再議架構(gòu)設(shè)計和模式
2.3.4 企業(yè)架構(gòu)模式介紹
2.4 企業(yè)架構(gòu)模式實(shí)戰(zhàn)
2.5 設(shè)計方法
2.5.1 測試驅(qū)動開發(fā)
2.5.2 領(lǐng)域驅(qū)動開發(fā)
2.5.3 行為驅(qū)動開發(fā)
2.6 本章小結(jié)
第二部分 架構(gòu)與設(shè)計的方法和最佳實(shí)踐
第3章 架構(gòu)分層
3.1 反模式項(xiàng)目實(shí)例
3.2 分層設(shè)計
3.2.1 正確理解分層
3.2.2 常見的分層架構(gòu)設(shè)計
3.2.3 n-tier架構(gòu)
3.2.4 n-tier架構(gòu)需要考慮的因素
3.3 從重構(gòu)到分層
3.3.1 業(yè)務(wù)層設(shè)計實(shí)戰(zhàn)
3.3.2 數(shù)據(jù)訪問層設(shè)計實(shí)戰(zhàn)
3.3.3 服務(wù)層設(shè)計實(shí)戰(zhàn)
3.3.4 顯示層設(shè)計實(shí)戰(zhàn)
3.4 本章小結(jié)
第4章 業(yè)務(wù)層設(shè)計
4.1 業(yè)務(wù)層組織模式剖析
4.1.1 transaction script模式與實(shí)戰(zhàn)
4.1.2 active record模式與實(shí)戰(zhàn)
4.1.3 domain model模式與實(shí)戰(zhàn)
4.1.4 anemic domain model模式與實(shí)戰(zhàn)
4.1.5 業(yè)務(wù)層組織模式比較
4.2 業(yè)務(wù)層常用設(shè)計模式解析及實(shí)戰(zhàn)
4.2.1 工廠方法模式
4.2.2 裝飾者模式
4.2.3 模板方法模式
4.2.4 狀態(tài)模式
4.2.5 策略模式
4.2.6 模板方法模式、狀態(tài)模式、策略模式的比較
4.3 業(yè)務(wù)層常用的企業(yè)架構(gòu)模式及實(shí)戰(zhàn)
4.4 模式聯(lián)合實(shí)戰(zhàn)
4.4.1 需求規(guī)格模式
4.4.2 組合模式
4.5 業(yè)務(wù)層常用的設(shè)計原則及實(shí)戰(zhàn)
4.6 本章小結(jié)
第5章 服務(wù)層設(shè)計
5.1 服務(wù)層詳解
5.1.1 服務(wù)層的由來
5.1.2 服務(wù)層的職責(zé)是什么
5.1.3 服務(wù)層的必要性
5.2 服務(wù)層常用設(shè)計模式解析
5.2.1 外觀模式
5.2.2 遠(yuǎn)程外觀模式
5.2.3 數(shù)據(jù)傳輸對象模式
5.3 soa介紹
5.3.1 soa用途
5.3.2 soa原則
5.3.3 服務(wù)設(shè)計原則
5.3.4 服務(wù)解惑
5.3.5 服務(wù)操作設(shè)計原則
5.3.6 服務(wù)粒度介紹
5.4 服務(wù)層常用消息模式解析
5.4.1 文檔消息模式與請求-響應(yīng)模式
5.4.2 預(yù)約保留模式
5.4.3 等冪模式
5.5 soa實(shí)戰(zhàn)——wcf實(shí)現(xiàn)
5.5.1 系統(tǒng)分析
5.5.2 業(yè)務(wù)層實(shí)戰(zhàn)
5.5.3 數(shù)據(jù)層實(shí)戰(zhàn)
5.5.4 服務(wù)層實(shí)戰(zhàn)
5.5.5 代理層實(shí)戰(zhàn)
5.5.6 顯示層實(shí)戰(zhàn)
5.6 本章小結(jié)
第6章 數(shù)據(jù)訪問層設(shè)計
6.1 數(shù)據(jù)訪問層簡述
6.2 數(shù)據(jù)訪問層的設(shè)計策略
6.2.1 倉儲模式
6.2.2 數(shù)據(jù)訪問對象模式
6.3 數(shù)據(jù)訪問層常用模式與原則解析
6.3.1 工作單元
6.3.2 標(biāo)識映射
6.3.3 延遲加載
6.3.4 數(shù)據(jù)并發(fā)控制
6.3.5 查詢對象
6.4 orm對象關(guān)系映射
6.4.1 nhibernate介紹
6.4.2 entity framework介紹
6.5 企業(yè)級領(lǐng)域驅(qū)動設(shè)計項(xiàng)目實(shí)戰(zhàn)
6.5.1 業(yè)務(wù)層的實(shí)現(xiàn)
6.5.2 服務(wù)層的實(shí)現(xiàn)
6.5.3 數(shù)據(jù)訪問層的實(shí)現(xiàn)
6.5.4 顯示層的實(shí)現(xiàn)
6.6 本章小結(jié)
第7章 數(shù)據(jù)存儲層設(shè)計
7.1 合理選擇數(shù)據(jù)存儲方案
7.1.1 數(shù)據(jù)存儲的三種方式
7.1.2 選擇合理的數(shù)據(jù)存儲方案
7.2 數(shù)據(jù)庫架構(gòu)設(shè)計
7.2.1 分布數(shù)據(jù)
7.2.2 數(shù)據(jù)拆分
7.2.3 讀寫分離
7.2.4 數(shù)據(jù)緩存
7.3 數(shù)據(jù)庫設(shè)計
7.3.1 數(shù)據(jù)庫計劃
7.3.2 邏輯數(shù)據(jù)庫設(shè)計
7.3.3 物理數(shù)據(jù)庫設(shè)計
7.4 sql server數(shù)據(jù)庫性能瓶頸分析與解決方案
7.4.1 缺失索引的瓶頸分析與解決方案
7.4.2 昂貴查詢的瓶頸分析與解決方案
7.4.3 數(shù)據(jù)庫碎片的瓶頸分析與解決方案
7.5 本章小結(jié)
第8章 顯示層設(shè)計
8.1 mvp模式的原理與實(shí)戰(zhàn)
8.1.1 mvp模式實(shí)戰(zhàn)(asp.net實(shí)現(xiàn))
8.1.2 mvp模式經(jīng)驗(yàn)談
8.1.3 mvp模式之高級話題
8.2 前端控制器模式的原理與實(shí)戰(zhàn)
8.2.1 前端控制器模式介紹
8.2.2 深入淺出命令模式
8.2.3 前端控制器模式實(shí)戰(zhàn)
8.3 mvc模式的原理與實(shí)戰(zhàn)
8.3.1 深入淺出mvc模式
8.3.2 mvc模式之高級話題
8.3.3 mvc模式實(shí)戰(zhàn)——對asp.net mvc源碼進(jìn)行分析
8.4 pm模式的原理與實(shí)戰(zhàn)
8.4.1 pm模式的解析
8.4.2 pm模式實(shí)戰(zhàn)
8.5 mvvm模式的原理與實(shí)戰(zhàn)
8.5.1 mvvm模式介紹
8.5.2 mvvm模式深度剖析
8.5.3 mvvm模式高級話題
8.6 本章小結(jié)
第三部分 .net應(yīng)用的架構(gòu)與設(shè)計實(shí)戰(zhàn)
第9章 it創(chuàng)業(yè)產(chǎn)品互推平臺的項(xiàng)目背景與功能介紹
9.1 it創(chuàng)業(yè)產(chǎn)品互推平臺背景
9.2 sns功能介紹
9.2.1 用戶管理
9.2.2 個人信息管理
9.2.3 軟件展示功能
9.2.4 好友功能
9.2.5 站內(nèi)信息功能
9.2.6 多媒體文件管理
9.2.7 博客
9.2.8 用戶群
9.2.9 微博
9.2.10 共享功能
9.2.11 論壇
9.2.12 活動
9.2.13 投票
9.2.14 頁面布局定制
9.2.15 評級
9.3 本章小結(jié)
第10章 it創(chuàng)業(yè)產(chǎn)品互推平臺架構(gòu)設(shè)計
10.1 分層設(shè)計
10.1.1 邏輯分層的總體設(shè)計
10.1.2 通用功能設(shè)計
10.1.3 業(yè)務(wù)層設(shè)計
10.1.4 數(shù)據(jù)持久層設(shè)計
10.1.5 顯示層設(shè)計
10.2 部署設(shè)計
10.2.1 單服務(wù)器部署
10.2.2 多服務(wù)器部署
10.3 文件存儲的設(shè)計
10.4 基礎(chǔ)類庫的設(shè)計
10.4.1 緩存
10.4.2 配置讀取
10.4.3 郵件發(fā)送
10.4.4 日志記錄
10.4.5 輔助類的實(shí)現(xiàn)
10.5 本章小結(jié)
第11章 it創(chuàng)業(yè)產(chǎn)品互推平臺用戶管理
11.1 用戶管理功能分析
11.1.1 用戶注冊
11.1.2 用戶登錄
11.1.3 找回密碼
11.1.4 激活賬戶
11.1.5 刪除用戶
11.1.6 更新用戶
11.1.7 查詢用戶
11.2 用戶管理接口的定義
11.2.1 服務(wù)層實(shí)現(xiàn)定義
11.2.2 業(yè)務(wù)模型定義
11.2.3 數(shù)據(jù)訪問層的接口定義
11.3 用戶管理的實(shí)現(xiàn)
11.3.1 服務(wù)層實(shí)現(xiàn)
11.3.2 業(yè)務(wù)層實(shí)現(xiàn)
11.3.3 數(shù)據(jù)訪問層實(shí)現(xiàn)
11.3.4 顯示層實(shí)現(xiàn)
11.4 本章小結(jié)
附錄a
章節(jié)摘錄
版權(quán)頁:插圖:1.界面層界面層通常指的是用戶界面或表現(xiàn)層。此處我使用了一個比較通用的術(shù)語——界面,因?yàn)樵摷軜?gòu)不僅支持沒有任何用戶的面向服務(wù)的應(yīng)用程序,也支持WPF、Web窗體、Windows窗體,以及其他有用戶的應(yīng)用程序類型。可能會有讀者疑惑,為什么我把界面層和界面控制層分開來介紹(一般把界面層和界面控制層綜合在一起,統(tǒng)稱為“顯示層”)?當(dāng)然,從智能客戶端的角度來看,界面和對界面的控制是相同的,因?yàn)樗鼈兙褪怯脩裟軌蚺c系統(tǒng)交互的圖形化用戶界面(GUI)窗體。但是從Web的角度來看,它們的區(qū)別就比較明顯了。通常瀏覽器只為用戶提供了一個界面,用來顯示數(shù)據(jù)并收集用戶的輸入內(nèi)容。在這種情況下,所有真正的交互邏輯,也就是用來控制界面、生成輸出或解釋用戶輸入的代碼,都運(yùn)行在Web服務(wù)器(或者大型機(jī))上而不是客戶端計算機(jī)上。當(dāng)然,現(xiàn)在的瀏覽器上可能會運(yùn)行Ajax或Silverlight。不過,它們必須被視為分離的應(yīng)用程序,因?yàn)樗鼈冎皇桥c運(yùn)行在服務(wù)器上的應(yīng)用程序交互。所以即便在瀏覽器上有運(yùn)行代碼,應(yīng)用程序的界面代碼還是運(yùn)行在Web服務(wù)器上的?,F(xiàn)在界面技術(shù)的種類越來越多,并且每種技術(shù)都會帶來一些新的相對不兼容的技術(shù),我們必須為適應(yīng)它們而做一些工作,這就需要我們自己動手創(chuàng)建了。同時,我們應(yīng)該專注于簡化架構(gòu)中的其他層,因?yàn)橄鄬Χ裕渌麑拥脑O(shè)計更加有規(guī)則可以遵循,并且會帶來巨大的效益。 2.界面控制層 既然前面已經(jīng)提出了界面層和界面控制層之間的區(qū)別,那么界面控制層的目的就比較清楚了。該層包括以下幾種邏輯:決定用戶應(yīng)該看到什么,對路徑進(jìn)行導(dǎo)航,以及解釋用戶的輸入。在WPF或Windows窗體的應(yīng)用程序中,這些邏輯指代窗體后臺的代碼。在Web窗體應(yīng)用程序中,這些邏輯不僅僅指代窗體后臺的代碼,還可以包含在服務(wù)器端控件中的代碼。在很多應(yīng)用程序中,界面控制代碼非常復(fù)雜。對于初學(xué)者來說,它必須以非線性的方式對用戶的請求做出響應(yīng)。(因?yàn)楹茈y預(yù)料用戶會怎樣點(diǎn)擊控件,或者進(jìn)入或離開窗體和頁面。)界面控制代碼還必須與業(yè)務(wù)層的邏輯交互,以驗(yàn)證用戶輸入、處理用戶的請求,或者做任何其他與業(yè)務(wù)相關(guān)的動作。
媒體關(guān)注與評論
對于程序員來說,架構(gòu)師是他們職業(yè)生涯中的一個重要追求目標(biāo)。由于架構(gòu)師不僅需要非常高的綜合素質(zhì),而且還需要豐富的實(shí)戰(zhàn)經(jīng)驗(yàn),因此行業(yè)內(nèi)真正的架構(gòu)師少之又少。對于企業(yè)而言,一位優(yōu)秀的架構(gòu)師就好比疆場上指揮百萬大軍的將軍,運(yùn)籌帷幄,決勝千里之外,一個應(yīng)用是否具有高可用性、高擴(kuò)展性和良好的性能,架構(gòu)9幣起著決定性作用。本書內(nèi)容是作者在大量企業(yè)級,NET項(xiàng)目中總結(jié)出來的寶貴經(jīng)驗(yàn),以實(shí)戰(zhàn)為導(dǎo)向,系統(tǒng)地講解了企業(yè)級應(yīng)用架構(gòu)與設(shè)計的流程、方法、模式、原則與最佳實(shí)踐,適合希望成為優(yōu)秀架構(gòu)師的讀者系統(tǒng)學(xué)習(xí)。強(qiáng)烈推薦! ——51CTO本書是作者多年架構(gòu)實(shí)戰(zhàn)經(jīng)驗(yàn)的結(jié)晶。實(shí)踐性強(qiáng),通過大量的實(shí)際項(xiàng)目案例詳細(xì)講解了.NET應(yīng)用的架構(gòu)與設(shè)計的方法;內(nèi)容全面,從架構(gòu)設(shè)計的核心概念和原理,到架構(gòu)設(shè)計的模式與最佳實(shí)踐,全部包含其中:閱讀體驗(yàn)好,語言樸實(shí),幽默風(fēng)趣,能讓你在輕松的閱讀中領(lǐng)悟到架構(gòu)設(shè)計的精髓?! 狢hina Unix社區(qū)&ITpub社區(qū)聯(lián)袂推薦有多少項(xiàng)目,因?yàn)樵O(shè)計的糟糕,做到最后,讓人苦不堪言。為什么會這樣?缺少合理的設(shè)計原則和必要的實(shí)踐。有多少項(xiàng)目,因?yàn)榧軜?gòu)的缺陷,導(dǎo)致整個項(xiàng)目最后陷入“泥沼”。為什么會這樣?缺少周密的思考和對技術(shù)的深度把握。又有多少項(xiàng)目,因?yàn)椴磺袑?shí)際的假設(shè)和過度的設(shè)計,致使開發(fā)進(jìn)入“死亡行軍”,讓人叫苦不迭。為什么會這樣?缺少經(jīng)驗(yàn)的積累和失敗的教訓(xùn)。在這些“悲劇”的背后,我們不應(yīng)該無休止地悲傷;在這些失敗的項(xiàng)目面前,我們需要更深刻地反思。在這本書中,作者通過自己的實(shí)戰(zhàn)經(jīng)驗(yàn)給出了這些問題的答案,既有可供借鑒的成功經(jīng)驗(yàn),也有需要大家引以為戒的失敗教訓(xùn),值得仔細(xì)品讀?! R偉微軟ASP.NET MVP,暢銷書《ASP.NET 4權(quán)威指南》作者
編輯推薦
《.NET應(yīng)用架構(gòu)設(shè)計:原則、模式與實(shí)踐》:由經(jīng)驗(yàn)豐富的.NET專家和架構(gòu)師親自執(zhí)筆,技術(shù)專家和技術(shù)社區(qū)聯(lián)袂推薦!以實(shí)踐為導(dǎo)向,循序漸進(jìn)地講解了企業(yè)級.NET應(yīng)用架構(gòu)與設(shè)計的流程、方法、原則、模式與最佳實(shí)踐,極具實(shí)踐指導(dǎo)意義。每個程序員都有一個架構(gòu)師的夢,相信手捧《.NET應(yīng)用架構(gòu)設(shè)計:原則、模式與實(shí)踐》的你也正在朝著這個目標(biāo)而努力奮斗。架構(gòu)師對軟件項(xiàng)目的成敗和優(yōu)劣起著決定性作用,因此地位也舉足輕重,這就是比爾?蓋茨更喜歡稱自己是微軟的首席架構(gòu)師而不是CEO的原因。羅馬不是一天建成的.優(yōu)秀的架構(gòu)師也不是短時間內(nèi)能練成的.需要縝密的思維、精湛的技術(shù)和豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。在成長為架構(gòu)師的路上,沒有捷徑可走,唯有多吸取前人積累的經(jīng)驗(yàn)和教訓(xùn),多動手實(shí)踐并用心總結(jié)?!?NET應(yīng)用架構(gòu)設(shè)計:原則、模式與實(shí)踐》是一位資深架構(gòu)師多年實(shí)踐經(jīng)驗(yàn)的結(jié)晶,在這些年里,他有過成功的喜悅,也有過失敗的懊惱,一路走來,他深知程序員們在邁向架構(gòu)師的途中會遇到哪些困惑和難題,于是他結(jié)合自己的親身經(jīng)歷和體驗(yàn)撰寫了《.NET應(yīng)用架構(gòu)設(shè)計:原則、模式與實(shí)踐》。一方面是想將自己在軟件架構(gòu)與設(shè)計方面積累的方法、原則、模式與最佳實(shí)踐以大家最容易接受的方式分享出來;另外一方面他也毫不避諱地公開了自己的一些失敗教訓(xùn),目的是希望大家能引以為鑒.少走彎路。我們希望《.NET應(yīng)用架構(gòu)設(shè)計:原則、模式與實(shí)踐》能幫助你在成長為架構(gòu)師的路上走得更快、更穩(wěn),從而走得更遠(yuǎn)。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
.NET應(yīng)用架構(gòu)設(shè)計 PDF格式下載