C#企業(yè)應用開發(fā)藝術

出版時間:2010  出版社:人民郵電出版社  作者:Rockford Lhotka  頁數(shù):599  譯者:侯伯薇  
Tag標簽:無  

前言

我一直熱衷于框架。作為專業(yè)開發(fā)人員,20多年以來,我從沒發(fā)現(xiàn)一個計算平臺能夠提供我需要的所有東西,讓我高效地構建應用程序。微軟的.NET平臺非常好,但也并不總是能完全如我所愿。為了滿足自己的需要,我一直在尋找工具和框架,有時不得不自己創(chuàng)建??蚣軆H僅是架構或設計模式的集合。在有一個好框架之前,需要先有一個架構。這意味著你需要對架構和在其上可以創(chuàng)建的應用程序的種類都有一定的設想和目標。本書介紹怎樣應用面向對象的概念進行.NET應用程序架構的設計和開發(fā),重點介紹如何在包括Web和IC/S結構的各種分布式環(huán)境下創(chuàng)建業(yè)務對象并加以實現(xiàn),書中使用了大量的.NET技術、面向對象的設計和編程概念以及分布式架構。本書的很大一部分是我設計和創(chuàng)建CSLA.NET框架的思考過程,這個框架用來支持面向對象的.NET應用程序開發(fā)。它包括很多架構的概念和思想,也包括一些創(chuàng)建框架所使用的.NET高級技術,的深度應用。本書也演示了如何使用這個框架構建一個帶有多種接口的示例應用程序。如果你愿意,完全可以跳過框架設計章節(jié),直接使用框架構建面向對象的應用程序。我創(chuàng)建CSLA.NET框架的一個主要目的是為了簡化.NET開發(fā)。開發(fā)人員使用本書中介紹的框架,無需考慮底層的技術細節(jié),例如遠程訪問、序列化或者反射。所有這些功能都被內建在框架中,所以使用它的開發(fā)人員幾乎可以完全專注于業(yè)務邏輯和應用程序設計,而不必再為底層技術細節(jié)勞神費力。本書對上一版本(Expert C# 2005 Business Objects)做了重大修改,加入了.NET 3.5的新特性,并應用了過去幾年里.NET 2.0和3.0所做的改進。本書是我過去10多年所使用的概念的最新表述。我的目標一直是在分布式多層應用程序中高效地使用面向對象的設計。在這些年中,無論是技術還是我對這些概念的理解和表述都有了巨大的進步。從CSLA.NET 2.0到3.6在過去的8年中,CSLA.NET框架成為了微軟.NET平臺上最廣泛應用的開發(fā)框架之一。自從我在2001年發(fā)布了.NET版本,這個框架已經(jīng)成熟和改進了很多。這要歸功于.NET平臺自身的變化以及CSLA.NET社區(qū)的活躍和積極貢獻。CSLA.NET是一個被我稱為CSLlA的底層架構的映射,從而成為一個基于組件的、可擴展的邏輯架構。在過去的幾年中,我收到了上百封郵件,它們來自于使用CSLA作為其架構基礎的開發(fā)人員。這些開發(fā)人員創(chuàng)建了各式各樣的應用程序,小到單用戶程序,大到支撐核心業(yè)務的大型企業(yè)應用程序。這個框架包括面向對象軟件開發(fā)的兩個主要領域:口如何使用業(yè)務對象高效地構建Windows、Web和面向服務的應用程序;口如何在分布式計算環(huán)境中使用面向對象設計。

內容概要

  CSLA.NET框架成為了微軟.NET平臺上最廣泛應用的開發(fā)框架之一,《C#企業(yè)應用開發(fā)藝術:CSLA.NET框架開發(fā)實戰(zhàn)》介紹了CSLA.NET 3.6架構背后的構思過程,描述了怎樣搭建支持這個架構的框架,如何創(chuàng)建應用程序的業(yè)務對象,并且展示了如何使用這個框架創(chuàng)建基于業(yè)務對象的WPF、Web Forms和WCF服務應用程序?!禖#企業(yè)應用開發(fā)藝術:CSLA.NET框架開發(fā)實戰(zhàn)》適用于所有C#開發(fā)人員。

作者簡介

作者:(美國)霍特卡(Rockford Lhotka) 譯者:侯伯薇Rockford Lhotlka微軟軟件傳奇人物、微軟Regional Direactor、MVP、lNETA潑言人,經(jīng)常在許多國際性會議和用戶組大會上發(fā)表精彩演講,是MSDN在線的專欄作家。他還是微軟金牌認證合作伙伴Magenic技術公司的傳道者。

書籍目錄

第1章 分布式架構1.1 邏輯和物理架構1.1.1 N層和SOA1.1.2 復雜性1.1.3 邏輯模型和物理模型之間的關系1.1.4 5層邏輯架構1.1.5 應用邏輯框架1.1.6 展望未來1.2 管理業(yè)務邏輯1.2.1 可能的業(yè)務邏輯位置1.2.2 業(yè)務對象1.2.3 移動對象1.3 架構和框架1.4 小結第2章 框架設計2.1 基本設計目標2.1.1 驗證規(guī)則和業(yè)務規(guī)則2.1.2 跟蹤對象是否改變2.1.3 集成授權2.1.4 子對象的強類型集合2.1.5 多級撤銷能力2.1.6 用戶界面開發(fā)者的簡單抽象模型2.1.7 支持數(shù)據(jù)綁定2.1.8 對象持久性和對象一關系映射2.1.9 自定義身份驗證2.2 設計框架2.2.1 創(chuàng)建業(yè)務對象2.2.2 多級撤銷功能2.2.3 數(shù)據(jù)綁定支持2.2.4 業(yè)務和驗證規(guī)則2.2.5 數(shù)據(jù)門戶2.2.6 自定義身份驗證2.2.7 整合授權2.2.8 輔助類型和類2.3 命名空間組織2.4 小結第3章 面向對象應用程序設計3.1 責任驅動設計3.1.1 用例或基于故事的分析3.1.2 帶有責任的對象3.1.3 為用例存在的對象3.1.4 行為的標準化3.2 應用程序需求3.3 對象設計3.3.1 最初的設計3.3.2 修訂設計3.3.3 自定義身份驗證3.4 使用CSLA.NET3.5 數(shù)據(jù)庫設計3.5.1 創(chuàng)建數(shù)據(jù)庫3.5.2 pTracker數(shù)據(jù)庫3.5.3 Securlty數(shù)據(jù)庫3.6 小結第4章 CSLA.NET對象構造型4.1 基本術語和對象圖的結構4.2 業(yè)務對象生命周期4.2.1 對象的創(chuàng)建4.2.2 取得對象4.2.3 更新可編輯的對象4.2.4 銷毀和終結對象4.3 業(yè)務類結構4.3.1 Serial1zable或DataContract特性4.3.2 通用區(qū)域4.3.3 非公有的默認構造函數(shù)4.4 小結第5章 CSLA.NET對象模板5.1 業(yè)務類的結構5.1.1 可編輯的根業(yè)務對象5.1.2 可編輯的子業(yè)務對象5.1.3 可切換的對象5.1.4 可編輯的根集合5.1.5 可編輯的子集合5.1.6 只讀的業(yè)務對象5.1.7 只讀子對象5.1.8 只讀集合5.1.9 只讀子集合5.1.1 0命令對象5.1.1 1名稱/值列表對象5.1.1 2動態(tài)可編輯集合5.1.1 3動態(tài)可編輯根對象5.1.1 4條件對象5.2 小結第6章 業(yè)務框架實現(xiàn)6.1 CSLA.NET項目結構6.1.1 項目目錄結構6.1.2 項目設定6.1.3 項目簽名6.1.4 支持本地化6.2 Csla命名空間6.2.1 Appl1cationContext6.2.2 BuslnessBase6.2.3 BuslnessListBase6.2.4 CommandBase6.2.5 CriteriaBase6.2.6 DataPortal6.2.7 EditableRootListBase6.2.8 NameValueListBase6.2.9 Propertylnfo6.2.1 0ReadOnlyBase6.2.1 lReadOnlyListBase6.2.1 2SingleCriteria6.2.1 3SmartDate6.2.1 4Uti]1tles6.3 Csla.Core命名空間6.3.1 BuslnessBase6.3.2 ExtendedBindingList6.3.3 IBusinessObject接口6.3.4 ICommandobllect接口6.3.5 IEditableBusinessObject接口6.3.6 IEditableCol1ection接口6.3.7 IReadonlyobject接口6.3.8 IReadOnlyCol1ection接口6.3.9 ISavable接口6.3.1 0ISmartField接口6.3.1 IISupportUndo接口6.3.1 2ITrackStatus接口6.3.1 3IUndoableObject接口6.3.1 4ObjectCloner類6.3.1 5ReadOnlyBindingList6.4 小結第7章 屬性聲明7.1 聲明屬性7.1.1 屬性聲明的選項7.1.2 RegisterProperty和繼承7.2 PrOpertyInfOHanager7.3 字段管理器7.3.1 F1eldManager屬性7.3.2 FieldDataManager類7.4 小結第8章 對象狀態(tài)管理8.1 對象狀態(tài)屬性8.1.1 ITrackStatus接口8.1.2 IsNew8.1.3 IsSelfDirty8.1.4 IsDirty8.1.5 IsSelfValid8.1.6 IsVal1d8.1.7 IsSavable8.1.8 IsDeleted8.2 小結第9章 父子關系9.I可編輯的父對象9.1.I父子對象之間的交互9.1.2 IParent接口9.1.3 聲明Child屬性9.2 可編輯的父集合9.3 小結第10章 數(shù)據(jù)綁定10.1 Windows窗體10.1.1 對象數(shù)據(jù)綁定10.1.2 集合數(shù)據(jù)綁定10.1.3 控件和輔助對象10.1.4 與多個根對象協(xié)同工作10.2 WPF10.2.1 對象數(shù)據(jù)綁定10.2.2 集合數(shù)據(jù)綁定10.2.3 控件和幫助對象10.3 Web窗體10.4 小結第11章 業(yè)務和驗證規(guī)則11.1 規(guī)則類型11.2 Csla.Valldation命名空間11.2.1 RuleHandler委托I1.2.2 RuleArgs類11.2.3 DecoratedRuleArgs類11.2.4 RuleMethod類11.2.5 RuleDescription類11.2.6 ValldationRules類11.2.7 BrokenRule類11.2.8 BrokenRulesCollection類1I.2.9 ValldationException11.3 通用驗證規(guī)則I1.4 小結第12章 身份驗證和授權12.1 身份驗證12.1.1 Csla.AppllcationContext User屬性12.1.2 Windows身份驗證12.1.3 自定義身份驗證12.2 授權12.2.1 類型級別授權12.2.2 屬性和方法級別的授權12.3 小結第13章 多級撤銷13.1 使用撤銷13.2 實現(xiàn)撤銷13.2.1 ISupportUndo接口13.2.2 NotUndoableAttribute類13.2.3 UndoableBase類13.2.4 BuslnessBase類13.2.5 BusinessListBase類13.3 小結第14章 LINQ to CSLA14.1 使用LINQ降低代碼量14.2 LrNQtoCSLA.NET概覽14.2.1 將來自于LINQ to Objects的結果進行綁定14.2.2 索引的LINQ查詢14.3 LINQ和投影14.3.1 標識投影和LinqBindingList14.3.2 理解LinqBindingList14.4 使用CSLA.NET進行索引檢索的概覽14.4.1 序列化和索引14.4.2 索引模式14.5 CSLA.NET的IQueryable實現(xiàn)14.5.1 理解表達式樹14.5.2 深入探索IQueryProvider14.5.3 LinqBindingList14.6 被索引的LINQ和CSLA.NET14.6.1 管理索引集14.6.2 表達式求值14.6.3 索引對象模型14.7 小結第15章 持久性和數(shù)據(jù)門戶15.1 數(shù)據(jù)門戶設計15.1.1 業(yè)務邏輯和數(shù)據(jù)訪問的分離15.1.2 根對象和子對象的統(tǒng)一編碼模型15.1.3 通道適配器和消息路由器模式15.1.4 分布式事務支持15.1.5 上下文和位置透明性15.1.6 授權服務調用15.1.7 異步行為15.1.8 對象工廠15.2 基類的支持15.2.1 工廠方法和條件15.2.2 Save方法15.2.3 使用字段管理器更新子對象15.2.4 更新可編輯的集合15.3 反射和動態(tài)方法調用15.3.1 MethodCaller類15.3.2 LateBoundObject類15.4 通道適配器15.4.1 RunLoc81特性15.4.2 DataPortal類15.4.3 DataPortal類15.4.4 IDataPortalServer、接口15.4.5 IDataPortalProxy接口15.4.6 LocalProxy類15.4.7 WcfProxy類15.4.8 WcfPortal類15.5 分布式事務支持15.5.1 Transactlonal特性15.5.2 Csla.Server.DataPortal對象15.5.3 SetvlcedDataPortal類l5.5.4 TransactlonalDataPortal類15.6 消息路由器15.6.1 DataPortalSelector類15.6.2 S1mpleDataPortal類15.6.3 FactoryDataPortal類15.6.4 FactoryLoader屬性15.6.5 ChildDataPortal類15.7 上下文和位置透明性15.7.1 DataPortalContext類15.7.2 DataPottalResult類15.7.3 CSla.Servet.DataPortal-ExceDtion15.8 小結第16章 其他框架特性16.1 使用SmartDate處理日期16.1.1 初始化結構體16.1.2 支持空日期16.1.3 轉換函數(shù)16.1.4 文本函數(shù)16.1.5 日期函數(shù)16.1.6 數(shù)據(jù)庫格式16.2 數(shù)據(jù)訪問16.2.1 管理數(shù)據(jù)庫連接和上下文16.2.2 SafeDataReader16.2.3 DataMapper16.3 Windows工作流基礎16.3.1 從對象中啟動工作流16.3.2.WorkflowManager類16.4 小結第17章 對業(yè)務對象的實現(xiàn)17.1 ProjectTracker對象17.2 設置項目17.3 業(yè)務類的實現(xiàn)17.3.1 Project17.3.2 ProjectResources……第18章 數(shù)據(jù)訪問的示例第19章 WPF用戶界面第20章 Web窗體用戶界面第21章 WCF服務界面

章節(jié)摘錄

插圖:第1章 分布式架構 1.4 小結在本章中,我集中討論了分布式系統(tǒng)理論,特別是基于移動對象的理論。成功設計分布式系統(tǒng)的關鍵在于分清邏輯和物理架構之間的區(qū)別。邏輯架構用來定義應用程序不同類型代碼之間的分離關系。好的邏輯架構的目標是讓代碼更易于維護、更易懂以及更易于重用。邏輯架構還必須定義足夠的層來保證它能夠用于要求的物理架構。物理架構定義了其上運行著應用程序的計算機。擁有幾個邏輯層的應用程序可能會運行在單獨的一臺計算機上。你還可能在不同的客戶端和服務器上配置相同的邏輯架構。好的物理架構的目標是要在指定的環(huán)境中實現(xiàn)性能、可伸縮性、安全性和容錯性的最佳平衡。智能客戶端應用程序中物理架構的平衡和Web應用程序中的大相徑庭。一個Windows應用程序通常在性能和可伸縮性之間權衡,而Web應用程序通常會在性能和安全性之間權衡。本書中,我將使用一個五層的邏輯架構,包括界面層、界面控制層、業(yè)務層、數(shù)據(jù)訪問層以及數(shù)據(jù)存儲管理層。在本書后面的部分,我將向你展示如何使用這個架構來創(chuàng)建Windows、Web以及面向服務的應用程序,每種程序都有不同的物理架構。下一章我們會開始框架的設計過程,以達到上面的目的。

編輯推薦

《C#企業(yè)應用開發(fā)藝術:CSLA.NET框架開發(fā)實戰(zhàn)》:.NET應用架構開發(fā)經(jīng)典,揭示CSAL.NET框架的設計權衡,從實踐中精通面向對象技術。CSLA,NET是目前,NET平臺上最廣泛使用的開發(fā)框架之一。使用這一框架,開發(fā)人員不必過于關心底層細節(jié),而可以集中精力考慮業(yè)務邏輯和應用設計?!禖#企業(yè)應用開發(fā)藝術:CSLA.NET框架開發(fā)實戰(zhàn)》展現(xiàn)了設計和創(chuàng)建CSLA,NET框架的整個思考過程。圍繞這一框架,作者講述了怎樣用面向對象的思想來搭建,NET應用程序的架構。設計和開發(fā),NET應用,重點介紹如何創(chuàng)建專注于業(yè)務的對象,使其適應于各種分布式環(huán)境;如何使用它們來搭建基于WPF、Web窗體、WCF、Windows窗體、WF的應用程序。書中還以一個包含多個接口的實例應用,教會讀者怎樣用好這一框架。無論你在開發(fā)中是否采用這一框架。都能從《C#企業(yè)應用開發(fā)藝術:CSLA.NET框架開發(fā)實戰(zhàn)》受益匪淺。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    C#企業(yè)應用開發(fā)藝術 PDF格式下載


用戶評論 (總計6條)

 
 

  •   目前感覺還不錯,感覺有長進。
  •   一般得一般,建議不要買 。
  •   非常不錯,幫你通向系統(tǒng)架構師
  •   人郵的書,很少有翻譯得這么爛的,不是一般的爛,而是二班的爛啊,完全像是清華翻譯的,太奇怪了
  •   能做出這樣的框架,作者肯定是高人。只是本書適合高級的程序員或架構師來使用,一般水平的程序員估計理解不到書中的真諦。
  •   終于等到這本書了,為我解開CSLA的種種迷團!
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7