出版時(shí)間:2009-11 出版社:人民郵電出版社 作者:米凱利斯 頁(yè)數(shù):610 譯者:周靖
Tag標(biāo)簽:無
前言
在軟件工程的發(fā)展歷史中,用于編寫計(jì)算機(jī)程序的方法經(jīng)歷了幾次思維模式的重大轉(zhuǎn)變.每一種思維模式都是以前一種為基礎(chǔ)的,其宗旨都是增強(qiáng)代碼的組織,并降低復(fù)雜性。本書將帶領(lǐng)你體驗(yàn)相同的思維模式轉(zhuǎn)變過程.本書開始的幾章指導(dǎo)你學(xué)習(xí)順序編程結(jié)構(gòu)(sequential programming structure).在這種編程結(jié)構(gòu)中,語句是按照?qǐng)?zhí)行順序來寫的。這種結(jié)構(gòu)的問題在于,隨著需求的增加,復(fù)雜性也將呈指數(shù)級(jí)增加。為了降低復(fù)雜性,將代碼塊轉(zhuǎn)變成方法,產(chǎn)生了結(jié)構(gòu)化編程模型(structuredprogrammingmodel)。在這種模型中,可以從一個(gè)程序中的多個(gè)位置調(diào)用同一個(gè)代碼塊,而不必在程序中重復(fù)這些代碼。然而,即使有這種結(jié)構(gòu),程序還是會(huì)很快變得臃腫不堪,需要進(jìn)行進(jìn)一步抽象。所以,在此基礎(chǔ)上,人們又提出了面向?qū)ο缶幊痰母拍?,這將在第5章進(jìn)行討論。在此之后,你將繼續(xù)學(xué)習(xí)其他編程方法,比如基于接口的編程和LINQ(以及它促使集合API發(fā)生的改變),并最終學(xué)習(xí)通過attribute進(jìn)行初級(jí)的聲明性編程(第17章)。本書有以下3個(gè)主要職能.全面講述C#語言,其內(nèi)容已經(jīng)遠(yuǎn)遠(yuǎn)超過了一本簡(jiǎn)單的教程,為你進(jìn)行高效率軟件開發(fā)打下堅(jiān)實(shí)的基礎(chǔ)。對(duì)于已經(jīng)熟悉了C#的讀者,本書探討了一些較為復(fù)雜的編程思想,并深入討論了在這種語言的最新版本(C#3.0和.NET.3.5)中引入的特性。它是你永遠(yuǎn)的案頭參考——即便在你精通了這種語言之后。成功學(xué)習(xí)C#的關(guān)鍵在于,要盡可能快地開始編程。不要等自己成為一名理論方面的“專家”之后,才開始寫代碼。所以,不要猶豫,馬上開始寫程序吧。作為迭代開發(fā)思想的追隨者,我希望即使是一名剛開始學(xué)習(xí)編程的新手,在學(xué)到本書第2章末尾的時(shí)候,也能動(dòng)手開始寫基本的C#代碼。有許多主題都沒有在本書中進(jìn)行討論。你在本書找不到ASENET、ADO.NET、智能客戶端開發(fā)以及分布式編程等主題。雖然這些主題與.NET Framework有關(guān),但它們都值得用專門的書、分專題進(jìn)行講述。幸運(yùn)的是,已經(jīng)有豐富的圖書供讀者選擇。不過,在讀完本書之后,你在上述任何領(lǐng)域繼續(xù)深入學(xué)習(xí)都會(huì)有游刃有余的感覺。
內(nèi)容概要
本書是一部廣受好評(píng)的名作,作者用一種易于理解的方式詳細(xì)介紹了C#語言的各個(gè)方面。全書共有21章以及3個(gè)附錄,每章開頭的“思維導(dǎo)圖”指明本章要討論的主題,以及各個(gè)主題之間的層次關(guān)系。書中所包含的豐富的示例代碼和精要的語言比較,都對(duì)讀者理解C#語言有所裨益。本書介紹了C#語言的數(shù)據(jù)類型、運(yùn)算符、方法、類等基本概念,深入討論了泛型、迭代器、反射、線程和互操作性等高級(jí)主題,還介紹了語言集成查詢(LINQ)技術(shù),以及與其相關(guān)的擴(kuò)展方法、分部方法、Lambda表達(dá)式、標(biāo)準(zhǔn)查詢操作符和查詢表達(dá)式等內(nèi)容。 本書適合對(duì)C#感興趣的各個(gè)層次的讀者,無論對(duì)初學(xué)者還是有經(jīng)驗(yàn)的開發(fā)者,本書都是一本很有價(jià)值的參考書。
作者簡(jiǎn)介
Mark Michaelis 微軟MVP,微軟技術(shù)代言人,是intelliTechture公司的創(chuàng)始人和總裁,。他在C#開發(fā)方面有著很深的造詣,曾參與過C#和VSTS/TFS等多種微軟軟件產(chǎn)品的設(shè)計(jì)評(píng)審。本書是他的代表作。
書籍目錄
第1章 C#概述第2章 數(shù)據(jù)類型 第3章 運(yùn)算符和控制流 第4章 方法和參數(shù) 第5章 類 第6章 繼承 第7章 接口 第8章 值類型 第9章 合式類型 第10章 異常處理 第11章 泛型 第12章 委托和Lambda表達(dá)式 第13章 事件 第14章 支持標(biāo)準(zhǔn)查詢運(yùn)算符的集合接口 第15章 查詢表達(dá)式 第16章 構(gòu)建自定義集合 第17章 反射和attribute 第18章 多線程處理 第19章 多線程處理模式 第20章 平臺(tái)互操作性和不安全的代碼 第21章 CLI 附錄A 下載和安裝C#編譯器與CLI平臺(tái) 附錄B 完整源代碼清單 附錄C C# 3.0主題
章節(jié)摘錄
插圖:21.4.6 性能許多習(xí)慣于寫非托管代碼的程序員會(huì)一語道破天機(jī):托管環(huán)境為應(yīng)用程序帶來了額外的開銷,無論它有多簡(jiǎn)單.這就要求開發(fā)者做出取舍:是不是可以犧牲運(yùn)行時(shí)的一些性能,換取更高的開發(fā)效率以及托管代碼中更少的bug數(shù)量?事實(shí)上,從匯編程序轉(zhuǎn)向C這樣的高級(jí)語言,以及從結(jié)構(gòu)化編程轉(zhuǎn)向面向?qū)ο箝_發(fā)時(shí),我們都在進(jìn)行同樣的取舍。在大多數(shù)情況下,我們都選擇了開發(fā)效率的提升,尤其是在硬件速度越來越快但價(jià)格越來越便宜的今天。將較多的時(shí)間花在構(gòu)架設(shè)計(jì)上,相較于窮于應(yīng)付低級(jí)開發(fā)平臺(tái)的各種復(fù)雜性,前者更有可能帶來大幅的性能提升。另外,考慮到緩沖區(qū)溢出可能引發(fā)安全漏洞,托管執(zhí)行的吸引力變得更大了。毫無疑問,特定的開發(fā)情形(比如設(shè)備驅(qū)動(dòng)程序)是不適合托管執(zhí)行的。然而,隨著托管執(zhí)行的功能越來越強(qiáng),對(duì)其性能的擔(dān)心會(huì)變得越來越少。最終,只有在要求精確控制的場(chǎng)合,或者要求必須拿掉“運(yùn)行時(shí)”的場(chǎng)合,才需要用到非托管執(zhí)行”。此外,“運(yùn)行時(shí)”的一些特別設(shè)計(jì)可以使程序的性能優(yōu)于本機(jī)編譯。例如,由于到機(jī)器碼的轉(zhuǎn)換是在目標(biāo)機(jī)器上發(fā)生的,所以生成的編譯代碼能夠與那臺(tái)機(jī)器的處理器和內(nèi)存布局完美匹配。相反,非JIT編譯的語言是無法獲得這一性能優(yōu)勢(shì)的。另外,“運(yùn)行時(shí)”能靈活響應(yīng)執(zhí)行時(shí)的一些突發(fā)狀況。相反,已直接編譯成機(jī)器碼的程序是無法照顧到這些情況的。例如,在目標(biāo)機(jī)器上的內(nèi)存非常富余的時(shí)候,非托管語言仍然會(huì)刻板地執(zhí)行既定計(jì)劃,在編譯時(shí)定義的位置回收內(nèi)存(確定性析構(gòu))。相反,支持ⅡT編譯的語言只有在運(yùn)行速度變慢或者程序關(guān)閉的時(shí)候才會(huì)回收內(nèi)存。雖然JIT編譯為執(zhí)行過程添加了一個(gè)額外的編譯步驟,但JIT編譯器能帶來代碼執(zhí)行效率的大幅提升,使程序的最終性能仍然優(yōu)于直接編譯成機(jī)器碼的程序。
媒體關(guān)注與評(píng)論
“本書首先會(huì)讓你掌握語言是如何工作的,然后在需要快速找到答案的時(shí)候,它又可以作為一本參考書來使用。對(duì)于那些想要了解微軟最新技術(shù)的開發(fā)者,本書也會(huì)成為你的良師益友,幫助你理清不斷變化的技術(shù)趨勢(shì)。” ——Charlie Calvert,微軟Visual C#社區(qū)項(xiàng)目經(jīng)理
編輯推薦
《C#本質(zhì)論(第2版)》語言簡(jiǎn)明透徹,不僅討論了C#的類數(shù)據(jù)類型、運(yùn)算符、方法、類等基本概念,也講解了泛型、迭代器、反射、線程、互操作性等高級(jí)主題,還介紹了全新的語言集成查詢(UNQ)技術(shù).以及與其相關(guān)的擴(kuò)展方法、隱-式類型的變量、分部方法、Lambda表達(dá)式、表達(dá)式樹、匿名類型、標(biāo)準(zhǔn)查詢操作符和查詢表達(dá)式等重要內(nèi)容。書中的代碼示例、思維導(dǎo)圖和語言對(duì)比等內(nèi)容,都對(duì)介紹C#的強(qiáng)大特性起到了很好的輔助作用,從而使讀者可以對(duì)C#有更為直觀的認(rèn)識(shí)。這樣一件由作者精心打造的C#編程利器,讓初學(xué)者可以在探索路上披荊斬棘.讓開發(fā)者可以在工作中游刃有余。《C#本質(zhì)論(第2版)》是微軟技術(shù)代言人扛鼎之作,結(jié)合代碼深入淺出探討C#3.O的強(qiáng)大特性,C#開發(fā)必備利器。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載