C#企業(yè)應(yīng)用開(kāi)發(fā)藝術(shù)

出版時(shí)間:2010  出版社:人民郵電出版社  作者:Rockford Lhotka  頁(yè)數(shù):599  譯者:侯伯薇  
Tag標(biāo)簽:無(wú)  

前言

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

內(nèi)容概要

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

作者簡(jiǎn)介

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

書(shū)籍目錄

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

章節(jié)摘錄

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

編輯推薦

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

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    C#企業(yè)應(yīng)用開(kāi)發(fā)藝術(shù) PDF格式下載


用戶評(píng)論 (總計(jì)6條)

 
 

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

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7