出版時(shí)間:2011-11 出版社:清華大學(xué)出版社 作者:[美]Scott Millett 譯者:楊明軍
Tag標(biāo)簽:無
內(nèi)容概要
《asp.net設(shè)計(jì)模式》涵蓋了開發(fā)企業(yè)級(jí)asp.net應(yīng)用程序的知名模式和最佳實(shí)踐。本書用到的模式可以用于從asp.net
1.0到asp.net 4.0的任何版本。不必管模式本身所用的語言,可以將模式用于任何面向?qū)ο缶幊陶Z言。
《asp.net設(shè)計(jì)模式》是為那些熟悉.net框架但希望了解如何改進(jìn)編碼方式以及如何運(yùn)用設(shè)計(jì)模式、設(shè)計(jì)原則和最佳實(shí)踐來提高代碼的可維護(hù)性和適應(yīng)性的asp.net開發(fā)者而寫的。那些以前已經(jīng)體驗(yàn)過設(shè)計(jì)模式的讀者可能希望跳過本書的第ⅰ部分,這部分介紹了gof提出的設(shè)計(jì)模式以及其他常見設(shè)計(jì)原則,包括s.o.l.i.d原則和martin
fowler的企業(yè)設(shè)計(jì)模式。所有的代碼示例均采用c#語言編寫,但這些概念可以非常輕松地用于vb.net。
作者簡(jiǎn)介
Scott
Millett是一位就職于倫敦Wiggle.co.uk公司的企業(yè)軟件架構(gòu)師,Wiggle.co.uk是一家專門從事自行車和鐵人三項(xiàng)體育運(yùn)動(dòng)業(yè)務(wù)的電子商務(wù)公司。他從1.0版就開始從事.NET開發(fā),并于2010年被授予ASP.NET
MVP稱號(hào)。他還是Wrox出版社出版的Professional Enterprise
.NET一書的作者之一。在從事.NET寫作和開發(fā)工作之余,他會(huì)參加格拉斯頓伯里音樂節(jié)以及夏季英國所有的大型音樂節(jié),放松一下,欣賞音樂。如果希望與Scott討論本書或任何與.NET開發(fā)有關(guān)的話題,或英國音樂節(jié)實(shí)況,那可以給他的郵箱scott@elbandit.co.uk發(fā)郵件,或訪問他的Tweet賬號(hào)@ScottMillett。
致謝
我要感謝Brian Herrmann、Paul Reese以及所有幫助我完成本書創(chuàng)作的Wrox員工。我還要感謝Joe
Fawcett,他出色地完成了技術(shù)編輯工作。
萬分感謝Imar
Spaanjaars(http://imar.spaanjaars.com/)犧牲個(gè)人時(shí)間審閱本書并給我提供了極好的反饋。
我還想利用這個(gè)機(jī)會(huì)感謝幾個(gè)人,在過去幾年中我從他們那里學(xué)到了很多有益的思想。我在2009年夏季參加了JP
Boodhoo(http://blog.jpboodhoo.com/)的.NET訓(xùn)練營(yíng),在那里的幾周時(shí)間可能是我曾經(jīng)度過的最受鼓舞的一段時(shí)光,而且讓我明白為什么鐘愛自己的工作。感謝JP。
當(dāng)MVC面世時(shí),Rob
Conery(http://blog.wekeroad.com/)開始撰寫有關(guān)創(chuàng)建MVC網(wǎng)店的系列博客文章。他在網(wǎng)店的構(gòu)建過程中研究了許多了不起的技術(shù)和方法學(xué),包括BDD、TDD、DDD、KanBan和持續(xù)集成等。我所學(xué)到的知識(shí)超過自己的想象,這主要?dú)w功于Rob的表達(dá)方式契合實(shí)際而且非常有趣。如果本書能夠達(dá)到這些視頻一半的效果,我就十分滿足了。Rob創(chuàng)建了一家專門為開發(fā)者提供極佳視頻資源(www.tekpub.com/)的公司。強(qiáng)烈推薦訪問該網(wǎng)站!
書籍目錄
第Ⅰ部分 模式與設(shè)計(jì)原則
第1章 成功應(yīng)用程序的模式
1.1 設(shè)計(jì)模式釋義
1.1.1 起源
1.1.2 必要性
1.1.3 有效性
1.1.4 局限性
1.2 設(shè)計(jì)原則
1.2.1 常見設(shè)計(jì)原則
1.2.2 S.O.L.I.D.設(shè)計(jì)原則
1.3 Fowler的企業(yè)設(shè)計(jì)模式
1.3.1 分層
1.3.2 領(lǐng)域邏輯模式
1.3.3 對(duì)象關(guān)系映射
1.3.4 Web表示模式
1.3.5 基本模式、行為模式和結(jié)構(gòu)模式
1.4 其他有名的設(shè)計(jì)實(shí)踐
1.4.1 測(cè)試驅(qū)動(dòng)設(shè)計(jì)
1.4.2 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)
1.4.3 行為驅(qū)動(dòng)設(shè)計(jì)
1.5 小結(jié)
第2章 剖析模式的模式
2.1 如何閱讀設(shè)計(jì)模式
2.1.1 GoF模式模板
2.1.2 簡(jiǎn)化模板
2.2 設(shè)計(jì)模式分組
2.2.1 創(chuàng)建型
2.2.2 結(jié)構(gòu)型
2.2.3 行為型
2.3 如何選擇和運(yùn)用設(shè)計(jì)模式
2.4 快速模式示例
2.4.1 根據(jù)設(shè)計(jì)原則進(jìn)行重構(gòu)
2.4.2 根據(jù)Adapter模式進(jìn)行重構(gòu)
2.4.3 利用企業(yè)模式
2.5 小結(jié)
第Ⅱ部分 剖析ASP.NET應(yīng)用程序:學(xué)習(xí)并應(yīng)用模式
第3章 應(yīng)用程序分層與關(guān)注點(diǎn)分離
3.1 應(yīng)用程序體系結(jié)構(gòu)與設(shè)計(jì)
3.1.1 反模式:智能UI
3.1.2 分離關(guān)注點(diǎn)
3.2 小結(jié)
第4章 業(yè)務(wù)邏輯層:組織
4.1 理解業(yè)務(wù)組織模式
4.1.1 Transaction Script
4.1.2 Active Record
4.1.3 Domain Model
4.1.4 Anemic Domain Model
4.1.5 領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)
4.2 小結(jié)
第5章 業(yè)務(wù)邏輯層:模式
5.1 應(yīng)用設(shè)計(jì)模式
5.1.1 Factory Method模式
5.1.2 Decorator模式
5.1.3 Template Method模式
5.1.4 State模式
5.1.5 Strategy模式
5.2 應(yīng)用企業(yè)模式
5.2.1 Specification模式
5.2.2 Composite模式
5.2.3 Layer Supertype模式
5.3 應(yīng)用設(shè)計(jì)原則
5.3.1 依賴倒置原則和依賴注入模式
5.3.2 接口分離原則
5.3.3 里氏替換原則
5.4 小結(jié)
第6章 服務(wù)層
6.1 服務(wù)層介紹
6.1.1 SOA
6.1.2 SOA的4項(xiàng)信條
6.1.3 Facade設(shè)計(jì)模式
6.2 應(yīng)用Messaging模式
6.2.1 Document Message和
Request-Response模式
6.2.2 Reservation模式
6.2.3 Idempotent模式
6.3 SOA示例
6.3.1 領(lǐng)域模型和資源庫
6.3.2 服務(wù)層
6.3.3 客戶端代理
6.3.4 客戶端
6.4 小結(jié)
第7章 數(shù)據(jù)訪問層
7.1 DAL介紹
7.2 數(shù)據(jù)訪問策略
7.2.1 Repository模式
7.2.2 Data Access Objects模式
7.3 數(shù)據(jù)訪問模式
7.3.1 Unit of Work模式
7.3.2 數(shù)據(jù)并發(fā)控制
7.3.3 Lazy Loading和Proxy模式
7.3.4 Identity Map模式
7.3.5 Query Object模式
7.4 使用對(duì)象關(guān)系映射器
7.4.1 NHibernate
7.4.2 MS Entity Framework
7.4.3 ORM代碼示例
7.5 小結(jié)
第8章 表示層
8.1 反轉(zhuǎn)控制
8.1.1 Factory Method設(shè)計(jì)模式
8.1.2 Service Locator
8.1.3 IoC容器
8.1.4 StructureMap
8.2 Model-View-Presenter
8.3 Front Controller
8.3.1 Command模式
8.3.2 Chain of Responsibility模式
8.4 Model-View-Controller
8.4.1 ViewModel模式
8.4.2 ASP.NET MVC框架
8.4.3 利用AutoMapper映射ViewModel
8.4.4 Castle MonoRail
8.5 Page Controller模式
8.6 小結(jié)
第9章 用戶體驗(yàn)層
9.1 什么是AJAX
9.2 使用JavaScript庫
9.3 理解AJAX模式
9.3.1 Periodic Refresh和Timeout
9.3.2 Unique URL
9.3.3 利用JavaScript Template實(shí)現(xiàn)數(shù)據(jù)綁定
9.3.4 Predictive Fetch
9.4 小結(jié)
第Ⅲ部分 案例研究:在線電子商務(wù)商店
第10章 需求和基礎(chǔ)設(shè)施
10.1 Agatha服裝店需求
10.1.1 Product Catalog和Basket截屏
10.1.2 顧客賬號(hào)屏幕
10.1.3 結(jié)賬屏幕
10.1.4 緩存和日志
10.2 架構(gòu)
10.3 小結(jié)
第11章 創(chuàng)建商品目錄
11.1 創(chuàng)建產(chǎn)品目錄
11.1.1 Product Catalog模型
11.1.2 Product Catalog數(shù)據(jù)表
11.1.3 Product Catalog資源庫
11.1.4 Product服務(wù)
11.1.5 控制器
11.1.6 Product Catalog視圖
11.1.7 設(shè)置IoC
11.2 小結(jié)
第12章 實(shí)現(xiàn)購物車
12.1 實(shí)現(xiàn)購物車
12.1.1 Basket領(lǐng)域模型
12.1.2 創(chuàng)建購物車數(shù)據(jù)表
12.1.3 NHibernate映射
12.1.4 購物車服務(wù)
12.1.5 購物車控制器和購物車視圖
12.2 小結(jié)
第13章 顧客會(huì)員
13.1 顧客會(huì)員
13.1.1 Customer模型
13.1.2 Customer數(shù)據(jù)表
13.1.3 Customer NHibernate映射
13.1.4 Customer服務(wù)
13.1.5 身份驗(yàn)證服務(wù)
13.1.6 Customer控制器
13.1.7 Account控制器
13.1.8 顧客關(guān)系視圖
13.1.9 身份驗(yàn)證視圖
13.2 小結(jié)
第14章 訂購和支付
14.1 結(jié)賬
14.1.1 Order模型
14.1.2 Order數(shù)據(jù)表
14.1.3 Order NHibernate映射
14.1.4 Order服務(wù)
14.1.5 利用PalPay進(jìn)行支付
14.1.6 Order、Payment與Checkout控制器
14.1.7 Order和Checkout視圖
14.2 小結(jié)
章節(jié)摘錄
版權(quán)頁:插圖:
編輯推薦
《ASP.NET設(shè)計(jì)模式》:演示如何使用GOF設(shè)計(jì)模式來改進(jìn)ASP.NET代碼說明如何在企業(yè)級(jí)ASP.NET站點(diǎn)中采用Fowler的企業(yè)模式詳述如何對(duì)ASP.NET應(yīng)用程序進(jìn)行分層以及如何分離關(guān)注點(diǎn)和職責(zé)詳述如何采用JQuery、JSON以及WCF消息傳送模式來實(shí)現(xiàn)AJAX模式,講如何運(yùn)用AutoMapper,NHibernate,StructureMap,Entity Framework和Castle MonoRail之類的最佳實(shí)踐工具,展示如何把站點(diǎn)的UX和表示層與可插拔的數(shù)據(jù)訪問層和業(yè)務(wù)邏輯層分離。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載