TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
設計模式:基於C#的工程化實現及擴展(簡體書)
滿額折

設計模式:基於C#的工程化實現及擴展(簡體書)

商品資訊

人民幣定價:98 元
定價
:NT$ 588 元
優惠價
87512
絕版無法訂購
相關商品
商品簡介
作者簡介
目次

商品簡介

《設計模式:基于C#的工程化實現及擴展》基于C# 2.0的語法,試圖將GOF 23中的模式以一種可工程化的公共庫而非Example的方式呈現給讀者。內容包括以下7部分。第1篇主要是概括性的介紹;第2篇創建型模式介紹通過將實例化職責委托他方對象的辦法,隔離客戶程序與具體類型實例化的依賴關系,保證客戶程序(或者外部系統)獲得期望具體類型實例的、同時不必發生直接的引用;第3篇結構型模式的重點在于如何通過靈活的體系組織不同的對象,并在此基礎上完成更為復雜的類型(或者類型系統),而參與組合的各類型之間始終保持盡量松散的結構關系;第4篇行為型模式關注于應用運行過程中算法的提供和通信關系的梳理;第5篇主要介紹小顆粒度基礎模式和應用案例;第6篇主要介紹應用全局的模式化的實現方法,包括現在已經被普遍應用的N層模式及某些關鍵性框架產品采用的“微內核”模式;第7篇主要是一些針對Web和Web Service領域的模式設計技術。

作者簡介

王翔,軟件架構師,主要從事.NET、XML、公鑰基礎設施的開發。專注于數據(尤其是XML信息)的生產、加工、交換、提煉等過程。最近參與了一系列有關應用密碼技術和PKI環境保護信息系統數據安全的項目。
最喜歡數學,平常案頭總是擺一本數學練習題。閑暇時間喜歡寫作,通過發表多種技術文章與國內外同行交流各種數據應用經驗。
項目間隙經常到各海濱城市徒步旅行、野外露營、出海航行、極限運動,這幾年烹飪也漸漸成為個人主要愛好。

目次

導讀
第1篇 預備知識——發掘用C#語言進行面向對象化設計的潛力
 第1章 重新研讀C#語言
1.1 說明
1.2 C# 部分語法內容擴展
1.2.1 命名空間(Namespace)
1.2.2 簡潔的異步通知機制——委托(Delegate)
1.2.3 考驗你的算法抽象能力——泛型(Generics)
1.2.4 用作標簽的方式擴展對象特性——屬性(Attribute)
1.2.5 用索引器簡化的C#類型信息訪問
1.2.6 融入C#語言的迭代機制——迭代器(Iterator)
1.3 可重載運算符(Overloadable Operators)與轉換運算符(Conversion Operators)
1.3.1 The Day After Someday
1.3.2 用于有限的狀態迭代
1.3.3 操作集合
1.3.4 類型的適配
1.3.5 小結
1.4 面向插件架構和現場部署的配置系統設計
1.4.1 認識.NET Framework提供的主要配置實體類
1.4.2 應用實例
1.4.3 小結
1.5 實現依賴注入
1.5.1 背景介紹
1.5.2 示例情景
1.5.3 Constructor注入
1.5.4 Setter注入
1.5.5 接口注入
1.5.6 基于Attribute實現注入——Attributer 53
1.5.7 小結
 第2章 開始每個設計模式之前
2.1 new()的替代品
2.2 準備一個輕量的內存Cache
2.3 準備一個集中訪問配置文件的Broker 64
2.4 Web?Not Web?
2.5 小結

第2篇 創建型模式——管理并隔離對象實例的構造過程
 第3章 工廠&工廠方法模式
3.1 簡單工廠
3.1.1 最簡單的工廠類
3.1.2 根據規格加工產品——參數化工廠
3.1.3 簡單工廠的局限性
3.2 經典回顧
3.3 解耦Concrete Factory與客戶程序
3.4 基于配置文件的Factory
3.5 批量工廠
3.5.1 開發情景
3.5.2 定義產品類型容器
3.5.3 定義批量工廠和產品類型容器
3.5.4 增設生產指導顧問——Director 89
3.5.5 由Director指導的客戶程序
3.6 基于類型參數的Generic Factory
3.7 委托工廠類型
3.8 小結
 第4章 單件模式
4.1 經典回顧
4.2 線程安全的Singleton
4.3 細節決定成敗
4.4 細顆粒度Singleton
4.4.1 背景討論
4.4.2 解決桌面應用中細顆粒度Singleton問題
4.4.3 解決Web應用中細顆粒度Singleton問題
4.4.4 更通用的細顆粒度Singleton
4.5 自動更新的Singleton
4.6 參數化的Singleton
4.7 跨進程的Singleton
4.8 Singleton的擴展——Singleton-N.
4.8.1 定義具有執行狀態的抽象對象
4.8.2 定義相應的Singleton-N實例集合
4.8.3 在基本Singleton模式實現的框架下引入實例集合
4.9 引入配置文件管理Singleton
4.10 基于類型參數的Generic Singleton
4.11 由工廠類型協助Singleton實例管理
4.12 小結
 第5章 抽象工廠模式
5.1 經典回顧
5.2 按計劃實施生產
5.2.1 為抽象工廠補充類型映射器
5.2.2 處理模式的硬傷
5.3 定義計劃與生產間的映射關系
5.3.1 分析
5.3.2 登記映射關系
5.3.3 用TypeMapper協助工廠生產
5.3.4 定義實體TypeMapper和實體工廠
5.3.5 實現裝配機制
5.4 配置生產計劃
5.5 基于Delegate的生產外包
5.6 小結
 第6章 創建者模式
6.1 經典回顧
6.2 異步調用的BuildUp() 143
6.3 為Builder打個標簽
6.3.1 完成工具類
6.4 具有裝配/卸裁能力的Builder 150
6.5 看著圖紙加工——登記配置文件
6.5.1 把UML的對象變成XSD.
6.5.2 把握梗概——刪除不經常變化的內容
6.5.3 映射為配置節點或配置元素
6.5.4 實現實體對象
6.5.5 完成流水線生產
6.6 用迭代器控制流水線
6.7 小結
 第7章 原型模式
7.1 經典回顧
7.2 表面模仿還是深入模仿
7.2.1 概念
7.2.2 制作實現克隆的工具類型
7.2.3 克隆也要稍微保留點個性
 7.2.4 定制并管理的克隆過程
7.3 重新定義原型方法
7.4 同時支持XML和二進制序列化的泛型集合類型處理
7.5 小結

第3篇 結構型模式——針對變化組織靈活的對象體系
 第8章 適配器模式
8.1 說明
8.2 經典回顧
8.3 進一步擴展適配范圍的組適配器
8.4 Adapter——Adapter互聯模式
8.4.1 分析
8.4.2 方式1:客戶程序直接調度Adapter 192
8.4.3 方式2:基于標準約定調度Adapter 192
8.4.4 方式3:借助反射和約定完成異步調用
8.5 用配置約定適配過程
8.6 XML數據的專用適配機制
8.7 小結
 第9章 橋模式
9.1 說明
9.2 經典回顧
9.3 將復雜性進一步分解后的多級橋關系
9.4 看著“圖紙”造橋
9.5 具有約束關系的橋
9.6 小結
 第10章 組合模式
10.1 說明
10.2 經典回顧
10.3 用迭代器遍歷組合類型
10.4 適于XML信息的組合模式
10.5 小結
 第11章 裝飾模式
11.1 說明
11.2 經典回顧
11.3 具有自我更新特征的裝飾模式
11.3.1 分析
11.3.2 抽象裝飾接口
11.3.3 抽象狀態接口
11.3.4 依據當前狀態修改裝飾
11.3.5 測試驗證
11.4 設計Decorator與Builder協作的產物
11.5 把Decorator做成標簽
11.5.1 更“徹底”的Attribute注入
11.5.2 方式1:采用.NET平臺自帶的AOP機制實現
11.5.3 方式2:自定義代理攔截框架方式
11.5.4 進一步分析
11.6 小結
 第12章 外觀模式
12.1 說明
12.2 經典回顧
12.3 Facade接口
12.4 Remote Facade
12.5 面向性能考慮的升級版Remote Facade——Data Transfer Object模式
12.6 平臺、開發語言無關的抽象Facade接口——WSDL
12.7 讓使用者更加方便的Fluent Interface設計
12.8 小結
 第13章 享元模式
13.1 說明
13.2 經典回顧
13.3 制訂共享計劃
13.4 綜合性的共享體系——Object Pool 264
13.4.1 應用背景
13.4.2 總體技術結構
13.4.3 抽象類型實體設計
13.4.4 享元模式的典型應用——緩沖
13.4.5 示例
13.5 用于并行處理的線程級享元
13.6 通過Delegate和隊列實現異步Flyweight 270
13.7 小結
 第14章 代理模式
14.1 說明
14.2 經典回顧
14.3 遠程訪問代理
14.3.1 第1步:定義遠程訪問的服務協議
14.3.2 第2步:定義服務端的配置文件及相應的宿主程序
14.3.3 第3步:生成客戶端遠程代理(Proxy)類型
14.3.4 第4步:編寫客戶端程序
14.4 數據訪問代理
14.5 對象緩存代理
14.6 為代理過程增加預處理和后續處理的支持
14.6.1 第1步:定義外部處理機制的抽象結構
14.6.2 第2步:定義新增處理的配置信息
14.6.3 第3步:定義配置解析對象
14.6.4 第4步:修正服務端和代理類的處理過程
14.7 小結

第4篇 行為型模式——算法、控制流和通信關系的對象化處理
 第15章 職責鏈模式
15.1 說明
15.2 經典回顧
15.3 用斷點控制鏈式過程
15.4 鏈式反應
15.5 增加配置約束
15.6 小結
 第16章 模板方法模式
16.1 說明
16.2 經典回顧
16.3 滿足多套模板要求
16.4 方法的模板——Delegate
16.5 類型的模板——Generic
16.6 用配置勾勒的模板
16.7 小結
 第17章 解釋器模式
17.1 說明
17.2 經典回顧
17.3 采用正則表達式
17.4 采用字典
17.5 采用XSD
17.6 用XSD解釋定制的業務語言
17.7 小結
 第18章 命令模式
18.1 說明
18.2 經典回顧
18.3 輕量級的Command——委托
18.4 異步Command
18.5 把Command打包
18.5.1 外觀模式方式
18.5.2 組合模式方式
18.6 把Command排隊
18.7 小結
 第19章 迭代器模式
19.1 說明
19.2 經典回顧
19.3 C#化的Iterator 353
19.4 小結
 第20章 中介者模式
20.1 說明
20.2 經典回顧
20.3 基于Delegate和事件的松耦合Mediator 362
20.4 根據配置動態協調通知關系
20.5 SOAP Mediator 366
20.6 小結
 第21章 備忘錄模式
21.1 說明
21.2 經典回顧
21.3 把備忘壓棧
21.4 Memento的序列化和持久化
21.5 小結
 第22章 觀察者模式
22.1 說明
22.2 經典回顧
22.3 .NET內置的Observer機制——事件
22.4 具有Observer的集合類型
22.5 面向服務接口的Observer 394
22.6 小結
 第23章 狀態模式
23.1 說明
23.2 經典回顧
23.3 State的序列化和持久化
23.4 主動方式State
23.5 觸發式State
23.6 涉及用戶交互的狀態流轉
23.7 用WF完成更易于編排的State
23.8 小結
 第24章 策略模式
24.1 說明
24.2 經典回顧
24.3 Strategy與Interpreter協作
24.4 充分利用.NET Framework自帶的Strategy接口
24.5 動態策略
24.6 小結
 第25章 訪問者模式
25.1 說明
25.2 經典回顧
25.3 借助反射實現Visitor 428
25.4 用委托使引用關系更加松散
25.5 小結

第5篇 小顆粒度基礎模式和應用案例——服務于細節的基礎性模式
 第26章 成例
26.1 說明
26.2 Partial Class
26.2.1 體現組合關系
26.2.2 從多個側面刻畫類型
26.2.3 與Visual Studio Add-ins的結合
26.2.4 小結
26.3 Gateway
26.3.1 封裝本地API的Gateway
26.3.2 封裝非C#語言訪問接口
26.3.3 封裝通用操作方法
26.3.4 小結
26.4 Mapper 443
26.4.1 介紹
26.4.2 數據對象映射器
26.4.3 小結
26.5 Registry
26.6 Value Object 455
26.7 通用數據載體DataSet和DataTable
26.8 Context 458
 第27章 GOF總結及應用案例
27.1 GOF總結
27.1.1 回顧GOF
27.2 應用案例需求說明
27.3 發現和分析
27.4 模式應用
27.4.1 已經采用的模式
27.4.2 如何實現與具體數據源無關
27.4.3 提供執行前后定制處理的能力
27.4.4 設計一個結構更加靈活的連接串配置訪問機制
27.5 小結

第6篇 部分架構模式——面向應用全局的模式化處理
 第28章 MVC模式
28.1 說明
28.2 模式介紹
28.3 示例
28.3.1 混合方式
28.3.2 分解對象職責
28.3.3 主動方式M/V/C
28.4 小結
 第29章 管道—過濾器模式
29.1 說明
29.2 登機的管道流程
29.2.1 數據源發起的推方式
29.2.2 數據接收方發起的拉方式
29.2.3 中介對象發起的推拉混合方式
29.2.4 數據源/數據接收方分別發起的銜接方式
29.3 示例
29.3.1 推方式示例
29.3.2 增加主動方式的Filter 508
29.4 小結
 第30章 出版—預訂模式
30.1 說明
30.2 生活中無處不在的“預訂”
30.2.1 面向單一主題的本地觀察者模式
30.2.2 增加Proxy實現面向單一主題的分布式觀察者模式
30.2.3 用出版者集中管理預訂
30.2.4 面向物理環境設計更多出版預訂模式
30.3 示例
30.3.1 數據實體模型部分
30.3.2 業務實體模型部分
30.3.3 具體實體對象部分
30.3.4 單元測試
30.4 小結
 第31章 Broker模式
31.1 說明
31.2 越來越龐雜的分布式系統交互之感
31.3 示例
31.4 小結
 第32章 消息總線模式
32.1 說明
32.2 用總線梳理企業系統環境
32.2.1 分隔區域條件下的消息總線
32.3 小結

第7篇 部分Web和Web Service模式——面向服務開發中的模式化處理
 第33章 頁面控制器模式
33.1 說明
33.2 用對象化思維抽象和擴展頁面操作邏輯
33.3 示例
33.4 小結
 第34章 實現Web服務依賴倒置
34.1 Web Service的模式化特征
34.2 第一層的包裝
34.2.1 Aggregation
34.2.2 Contain
34.3 SOA環境下典型的Web Service開發方式
34.4 依賴倒置原則及其在Web Service中的應用
34.4.1 分析
34.4.2 實現示例
34.5 基于WCF的工程化實現
34.5.1 實現示例
34.5.2 借助WCF擴展服務的對象化特征
34.6 小結
 第35章 Web服務適配器模式
35.1 說明
35.2 Web Service下的接口適配問題
35.2.1 常規情景分析
35.2.2 Web Service間連續交互適配
35.2.3 實施方式
35.3 采用標準Web Service類型的示例
35.3.1 單純數據XSD適配
35.3.2 服務方法兼容性適配
35.3.3 其他說明
35.4 采用WCF的示例
35.4.1 用Data Contract定義數據Schema
35.4.2 定義不同的類型轉換方式示例
35.5 小結
 第36章 Web服務數據傳輸對象模式
36.1 說明
36.2 Web Service接口批量交互中的性能問題
36.2.1 DTO對象
36.2.2 DTO與消費者服務的對應關系
36.2.3 部署設計考慮
36.2.4 結構
36.3 示例
36.3.1 沒有DTO對象的情況
36.3.2 增加DTO對象的情況
36.4 小結
36.5 附件
36.5.1 實現DTO數據裝載的兩種方式
 第37章 Web服務事件監控器模式
37.1 說明
37.2 如何為普通Web Service封裝事件機制
37.3 示例
37.4 小結
 第38章 Web服務攔截過濾器模式
38.1 說明
38.2 通過攔截完成自定義特性的透明擴展
38.2.1 實現方式
38.2.2 .NET平臺的實現技術
38.3 示例1
38.3.1 基于ASP.NET Web Service的IHttpModule方式1
38.3.2 基于WCF自定義攔截方式
38.4 小結
附錄A 面向關系數據和XML數據的領域邏輯模式
A.1 說明
A.2 實現業務領域邏輯的主要方法
A.2.1 整體邏輯結構
A.2.2 性能改進
A.2.3 面向關系數據庫的業務服務設計
A.2.4 面向XML數據的擴展設計
A.2.5 配置機制設計
A.3 示例
A.3.1 示例情景
A.3.2 測試內容準備
A.3.3 實際測試過程
A.4 小結
 附錄B 基于XML的應用建模
B.1 說明
B.2 世界是平的,但更是多元的
B.2.1 更具擴展性的數據模型——XML
B.2.2 讓非結構化數據可以被識別
B.2.3 應對數據和內容的集成
B.2.4 新的應用擴展
B.2.5 應對語義網絡的復雜性
B.3 小結
索引

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 512
絕版無法訂購

暢銷榜

客服中心

收藏

會員專區