出版時(shí)間:2010-12-3 出版社:人民郵電出版社 作者:(美)瓦格納 著 頁(yè)數(shù):268 譯者:陳黎夫
Tag標(biāo)簽:無
內(nèi)容概要
本書圍繞C#語(yǔ)言元素、.NET資源管理、使用C#表達(dá)設(shè)計(jì)、創(chuàng)建二進(jìn)制組件和使用框架等主題,針對(duì)50個(gè)常見問題給出了詳實(shí)的解決方案,并就提升編程效率給出了合理建議。書中內(nèi)容共分6章,分別講述了實(shí)際編程中不可或缺的習(xí)慣用法,如何更好地配合開發(fā)環(huán)境以期在優(yōu)化之前解決問題,如何用C#語(yǔ)言良好地表達(dá)設(shè)計(jì)意圖,BCL、Parallel Task Library的最常見用法和使用框架過程中常用的技巧,如何在C#中使用動(dòng)態(tài)特性,以及一些對(duì)創(chuàng)建強(qiáng)壯、易于維護(hù)的程序來說非常重要的難以歸類的主題。 本書適合所有C#程序員,也可供高等院校相關(guān)專業(yè)師生參考。
作者簡(jiǎn)介
作者:(美國(guó))瓦格納(Bill Wagner) 譯者:陳黎夫Bill Wagner,畢業(yè)于伊利諾伊大學(xué)香檳分校計(jì)算機(jī)科學(xué)專業(yè),世界知名NET專家,著名軟件咨詢公司SRTSolutions的創(chuàng)始人,曾榮獲微軟公司RegionalDirector稱號(hào)和微軟最有價(jià)值專家(MVP)稱號(hào),有20多年軟件開發(fā)經(jīng)驗(yàn),專注于C#、 NET和Azure平臺(tái),曾經(jīng)領(lǐng)導(dǎo)了眾多成功Windows平臺(tái)產(chǎn)品的開發(fā),他是微軟開發(fā)社區(qū)的活躍人物,長(zhǎng)期擔(dān)任MSDN Magazine、AStRNET Pro、VisualStudio Magazine等技術(shù)雜志的專欄作者,他寫的本書姊妹篇More Effective C#也已由人民郵電出版社出版
書籍目錄
第1章 C#語(yǔ)言習(xí)慣 條目1 使用屬性而不是可訪問的數(shù)據(jù)成員 條目2 用運(yùn)行時(shí)常量(readonly)而不是編譯期常量(const) 條目3 推薦使用is或as操作符而不是強(qiáng)制類型轉(zhuǎn)換 條目4 使用Conditional特性而不是#if條件編譯 條目5 為類型提供ToString()方法 條目6 理解幾個(gè)等同性判斷之間的關(guān)系 條目7 理解GetHashCode()的陷阱 條目8 推薦使用查詢語(yǔ)法而不是循環(huán) 條目9 避免在API中使用轉(zhuǎn)換操作符 條目10 使用可選參數(shù)減少方法重載的數(shù)量 條目11 理解短小方法的優(yōu)勢(shì)第2章 .NET資源管理 條目12 推薦使用成員初始化器而不是賦值語(yǔ)句 條目13 正確地初始化靜態(tài)成員變量 條目14 盡量減少重復(fù)的初始化邏輯 條目15 使用using和try/finally清理資源 條目16 避免創(chuàng)建非必要的對(duì)象 條目17 實(shí)現(xiàn)標(biāo)準(zhǔn)的銷毀模式 條目18 區(qū)分值類型和引用類型 條目19 保證0為值類型的有效狀態(tài) 條目20 保證值類型的常量性和原子性第3章 使用C#表達(dá)設(shè)計(jì) 條目21 限制類型的可見性 條目22 通過定義并實(shí)現(xiàn)接口替代繼承 條目23 理解接口方法和虛方法的區(qū)別 條目24 用委托實(shí)現(xiàn)回調(diào) 條目25 用事件模式實(shí)現(xiàn)通知 條目26 避免返回對(duì)內(nèi)部類對(duì)象的引用 條目27 讓類型支持序列化 條目28 提供粗粒度的因特網(wǎng)服務(wù)API 條目29 支持泛型協(xié)變和逆變第4章 使用框架 條目30 使用覆寫而不是事件處理函數(shù) 條目31 使用IComparable和IComparer實(shí)現(xiàn)順序關(guān)系 條目32 避免使用ICloneable接口 條目33 僅用new修飾符處理基類更新 條目34 避免重載基類中定義的方法 條目35 PLINQ如何實(shí)現(xiàn)并行算法 條目36 理解PLINQ在I/O密集場(chǎng)景中的應(yīng)用 條目37 注意并行算法中的異常第5章 C#中的動(dòng)態(tài)編程 條目38 理解動(dòng)態(tài)類型的優(yōu)劣 條目39 使用動(dòng)態(tài)類型表達(dá)泛型類型參數(shù)的運(yùn)行時(shí)類型 條目40 將接受匿名類型的參數(shù)聲明為dynamic 條目41 用DynamicObject或IDynamicMetaObjectProvider實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的動(dòng)態(tài)類型 條目42 如何使用表達(dá)式API 條目43 使用表達(dá)式將延遲綁定轉(zhuǎn)換為預(yù)先綁定 條目44 盡量減少在公有API中使用動(dòng)態(tài)對(duì)象第6章 雜項(xiàng) 條目45 盡量減少裝箱和拆箱 條目46 為應(yīng)用程序創(chuàng)建專門的異常類 條目47 使用強(qiáng)異常安全保證 條目48 盡量使用安全的代碼 條目49 實(shí)現(xiàn)與CLS兼容的程序集 條目50 實(shí)現(xiàn)小尺寸、高內(nèi)聚的程序集
章節(jié)摘錄
插圖:另一個(gè)使用事件機(jī)制的原因是,事件是在運(yùn)行時(shí)綁定的,因此會(huì)帶來更好的靈活性。你可以根據(jù)程序當(dāng)前的運(yùn)行環(huán)境而添加不同的事件處理函數(shù)。例如一個(gè)繪圖程序,你可以根據(jù)實(shí)際需要判斷某次鼠標(biāo)按下是代表開始畫線,還是代表選擇某個(gè)對(duì)象.當(dāng)用戶切換程序的模式時(shí),你可以切換事件處理函數(shù)。提供不同的類加上不同的事件處理函數(shù),即可根據(jù)程序的狀態(tài)選擇處理事件的方法。最后一點(diǎn),你可以為同一個(gè)事件提供多個(gè)事件處理函數(shù)。還是那個(gè)繪圖程序,你可能需要多個(gè)事件處理函數(shù)監(jiān)聽MouseDown事件。第一個(gè)用來執(zhí)行特定的操作,第二個(gè)用來更新狀態(tài)條或其他菜單項(xiàng)目的可用/禁用。針對(duì)一個(gè)事件,可以用多個(gè)操作來響應(yīng)。當(dāng)你在派生類中僅用一個(gè)函數(shù)響應(yīng)一個(gè)事件時(shí),覆寫將是更好的做法。覆寫更易于維護(hù),易于保證正確性,也更加高效。事件處理函數(shù)應(yīng)該用在別處。我們應(yīng)盡量選擇覆寫基類的實(shí)現(xiàn),而不是附加事件處理函數(shù)。
媒體關(guān)注與評(píng)論
“要想成為高效的NE廠開發(fā)人員,必須很好地了解所用語(yǔ)言,而本書在深入講解C#語(yǔ)言的同時(shí),提供了具有充分證據(jù)支持的論點(diǎn)和洞見,書中內(nèi)容對(duì)各級(jí)別的C#開發(fā)人員都大有裨益?!薄 狫ason Bock,Magenic公司首席顧問“本書是構(gòu)建高性能、可擴(kuò)展應(yīng)用的必備佳作,更值得提及的是,Bill總能將高度復(fù)雜的問題簡(jiǎn)單闡述?!薄 狫osh Holmes 微軟公司Architect Evangelist
編輯推薦
《C#高效編程:改進(jìn)C#代碼的50個(gè)行之有效的辦法(第2版)》:十載演進(jìn),C#日漸強(qiáng)大,新增了泛型、函數(shù)式編程概念,以及對(duì)靜態(tài)類型和動(dòng)態(tài)類型的支持,而大量新興編程習(xí)慣背后,卻是種種具有迷惑性的“陷阱”,BillWagner將以此書幫您避免C#語(yǔ)言和.NET環(huán)境中的“陷阱”。《C#高效編程:改進(jìn)C#代碼的50個(gè)行之有效的辦法(第2版)》充分挖掘了C#40的強(qiáng)大功能,并給出了簡(jiǎn)明、精確表達(dá)設(shè)計(jì)的50個(gè)實(shí)用方法。書中用大量代碼示例.以50個(gè)條目條分縷析,為實(shí)際應(yīng)用給出了清晰、專業(yè)、實(shí)用的建議,闡述了C#語(yǔ)言和NET框架的方方面面,包括類型、資源管理、動(dòng)態(tài)類型和多核支持。《C#高效編程:改進(jìn)C#代碼的50個(gè)行之有效的辦法(第2版)》主要內(nèi)容包括:利用編譯期常量和運(yùn)行時(shí)常量提高效率和可維護(hù)性(條目2),探索常量類型以促進(jìn)多核處理(條目20),最小化垃圾收集、裝箱和拆箱操作(條目16和條目45),探索接口和委托的強(qiáng)大功能(條目22至條目25),探索并行算法的魔力(條目35至條目37),使用“鴨子類型”(條目38),利用表達(dá)式API替代反射API(條目42和條目43),利用查詢表達(dá)式替代循環(huán)(條目8),支持泛型協(xié)變和逆變(條目29),使用可選參數(shù)減少方法重載(條目10)。真實(shí)示例,清晰實(shí)用C#高效率編程進(jìn)階專用Effective系列圖書品質(zhì)保證
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載