深入理解.NET(第2版.英文影印版)(.NET领域的经典著作)(china-pub 全国首发)
基本信息
- 原书名: CLR via C#, Second Edition
- 原出版社: Microsoft Press
- 作者: (美)Jeffrey Richter [作译者介绍]
- 丛书名: 图灵程序设计丛书.微软技术系列
- 出版社:人民邮电出版社
- ISBN:9787115182135
- 上架时间:2008-7-3
- 出版日期:2008 年8月
- 开本:16开
- 页码:693
- 版次:2-1
- 所属分类:
计算机 > 软件与程序设计 > .NET > 综合
编辑推荐
带您进入第一现场,洞悉.NET框架内幕
适用于.NET 2.0、3.0和3.5各版本
.NET平台程序员迈向卓越的必由之路
内容简介回到顶部↑
本书是.net领域的经典著作,深度揭示了.net框架的内幕。通过阅读本书,读者可以掌握.net的设计原则,洞悉高效创建高性能应用程序的秘诀。本书含有丰富的代码,均采用c#编写。
本书适合各层次.net 开发人员阅读。
本书适合各层次.net 开发人员阅读。
作译者回到顶部↑
本书提供作译者介绍
Jeffrey RicIlter是全球享有盛誉的微软技术专家,著名技术咨询和培训公司Wiritellect创始人之一,MSDN Magazine杂志特邀编辑。多年来,他担任微软各开发团队顾问,参与了微软的许多关键产品包括各版本Witldows、Visual Studio、Microsoft Office和.NET框架的设计和编程。他撰写了一系列著作,包括本书和《Windows核心编程》(第5版·英文版,人民邮电出版社,2008),都堪称技术图书的典范,影响了一代Windows程序员,并因此荣获微软公司社区最高技术荣誉“微软软件传奇人物”《SoftwareLegend)称号。<< 查看详细
目录回到顶部↑
part i clr basics
1 the clr’s execution model
2 building, packaging, deploying, and administering applications and types
3 shared assemblies and strongly named assemblies
part ii working with types
4 type fundamentals
5 primitive, reference, and value types
part iii designing types
6 type and member basics
7 constants and fields
8 methods: constructors, operators, conversions, and parameters
9 properties
10 events
part iv essential types
11 chars, strings, and working with text
12 enumerated types and bit flags
13 arrays
14 interfaces
15 delegates
16 generics
1 the clr’s execution model
2 building, packaging, deploying, and administering applications and types
3 shared assemblies and strongly named assemblies
part ii working with types
4 type fundamentals
5 primitive, reference, and value types
part iii designing types
6 type and member basics
7 constants and fields
8 methods: constructors, operators, conversions, and parameters
9 properties
10 events
part iv essential types
11 chars, strings, and working with text
12 enumerated types and bit flags
13 arrays
14 interfaces
15 delegates
16 generics
序言回到顶部↑
Over the years, Microsoft has introduced various technologies to help developers architect and implement code. Many of these technologies offer abstractions that allow developers to think about solving their problems more and think about the machine and operating system less. Here are some examples: .
■ The Microsoft Foundation Class library (MFC) offered a C++ abstraction over GUI programming. Using MFC, developers could focus more on what their program should do and they can focus less on message loops, window procedures, window classes, and so on.
■ With Microsoft Visual Basic 6 and earlier, developers also had an abstraction that made it easier to build GUI applications. This abstraction technology served a purpose similar to MFC but was geared towards developers programming in Basic, and it gave different emphasis to the various parts of GUI programming.
■ Microsoft’s ASP technology offered an abstraction allowing developers to build active and dynamic Web sites by using Visual Basic Script or JScript. ASP allowed developers to focus more on the Web page content and less on the network communications.
■ Microsoft’s Active Template Library (ATL) offered an abstraction allowing developers to more easily create components that could be used by developers working in multiple programming languages.
You’ll notice that each of these abstraction technologies was designed to make it easier for developers focusing on a Another goal of the .NET Framework is to allow developers to work in the programming language of their choice. It is now possible to build a Web site and components that all use a single language such as Visual Basic or Microsoft’s relatively new C# programming language.
Having a single programming model, API set, and programming language is a huge improvement in abstraction technologies, and this goes a very long way toward helping developers. However, it gets even better because these features also mean that integration issues also go away, which greatly improves testing, deployment, administration, versioning, and re-usability and re-purposing of code. Now that I have been using the .NET Framework myself for several years, I can tell you for sure that I would never go back to the old abstraction technologies and the old ways of software development. If I were being forced to do this, I’d change careers! This is how painful it would be for me now. In fact, when I think back to all of the programming I did using the old technologies, I just can’t believe that we programmers put up with it for as long as we did.
The Development Platform: The .NET Framework
The .NET Framework consists of two parts: the common language runtime (CLR) and the Framework Class Library (FCL). The CLR provides the programming model that all application types will use. The CLR includes its own file loader, memory manager (the garbage collector), security system (code access security), thread pool, and so on. In addition, the CLR offers an object-oriented programming model that defines what types and objects are and how they behave.
The Framework Class Library provides an object-oriented API set that all application models will use. It includes type definitions that allow developers to perform file and network I/O, scheduling tasks on other threads, drawing shapes, comparing strings, and so on. Of course, all of these type definitions follow the programming model set forth by the CLR.
Microsoft has actually released three versions of the .NET Framework:
■ The .NET Framework version 1.0 shipped in 2002 and included version 7.0 of Microsoft’s C# compiler.
■ The .NET Framework version 1.1 shipped in 2003 and included version 7.1 of Microsoft’s C# compiler.
■ The .NET Framework version 2.0 shipped in 2005 and included version 8.0 of Microsoft’s C# compiler.
This book focuses exclusively on the .NET Framework version 2.0 and Microsoft’s C# compiler version 8.0. Since Microsoft tries to maintain a large degree of backward compatibility when releasing a new version of the .NET Framework, many of the things I discuss in this book do apply to earlier versions, but I have not made any attempts to address things that are specific to earlier versions.
Version 2.0 of the .NET Framework includes support for 32-bit x86 versions of Windows as well as for 64-bit x64 and IA64 versions of Windows. A “lite” version of the .NET Framework, called the .NET Compact Framework, is also available for PDAs (such as Windows CE) and appliances (small devices). On December 13, 2001, the European Computer Manufacturers Association (ECMA) accepted the C# programming language, portions of the CLR, and portions of the FCL as standards. The standards documents that resulted from this has allowed other organizations to build ECMA-compliant versions of these technologies for other CPU architectures as well as other operating systems. Actually, much of the content in this book is about these standards, and therefore, many will find this book useful for working with any runtime/library implementation that adheres to the ECMA standard. However, this book focuses specifically on Microsoft’s implementation of this standard for desktop and server systems.
Microsoft Windows Vista ships with version 2.0 of the .NET Framework, but earlier versions of Windows do not. However, if you want your .NET Framework application to run on earlier versions of Windows, you will be required to install it manually. Fortunately, Microsoft does make a .NET Framework redistribution file that you’re allowed to freely distribute with your application.
The .NET Framework allows developers to take advantage of technologies more than any earlier Microsoft development platform did. Specifically, the .NET Framework really delivers on code reuse, code specialization, resource management, multilanguage development, security, deployment, and administration. While designing this new platform, Microsoft also felt that it was necessary to improve on some of the deficiencies of the current Windows platform. The
following list gives you just a small sampling of what the CLR and the FCL provide:
■ Consistent programming model Unlike today, when commonly some operating system facilities are accessed via dynamic-link library (DLL) functions and other facilities are accessed via COM objects, all application services are offered via a common objectoriented programming model.
■ The Microsoft Foundation Class library (MFC) offered a C++ abstraction over GUI programming. Using MFC, developers could focus more on what their program should do and they can focus less on message loops, window procedures, window classes, and so on.
■ With Microsoft Visual Basic 6 and earlier, developers also had an abstraction that made it easier to build GUI applications. This abstraction technology served a purpose similar to MFC but was geared towards developers programming in Basic, and it gave different emphasis to the various parts of GUI programming.
■ Microsoft’s ASP technology offered an abstraction allowing developers to build active and dynamic Web sites by using Visual Basic Script or JScript. ASP allowed developers to focus more on the Web page content and less on the network communications.
■ Microsoft’s Active Template Library (ATL) offered an abstraction allowing developers to more easily create components that could be used by developers working in multiple programming languages.
You’ll notice that each of these abstraction technologies was designed to make it easier for developers focusing on a Another goal of the .NET Framework is to allow developers to work in the programming language of their choice. It is now possible to build a Web site and components that all use a single language such as Visual Basic or Microsoft’s relatively new C# programming language.
Having a single programming model, API set, and programming language is a huge improvement in abstraction technologies, and this goes a very long way toward helping developers. However, it gets even better because these features also mean that integration issues also go away, which greatly improves testing, deployment, administration, versioning, and re-usability and re-purposing of code. Now that I have been using the .NET Framework myself for several years, I can tell you for sure that I would never go back to the old abstraction technologies and the old ways of software development. If I were being forced to do this, I’d change careers! This is how painful it would be for me now. In fact, when I think back to all of the programming I did using the old technologies, I just can’t believe that we programmers put up with it for as long as we did.
The Development Platform: The .NET Framework
The .NET Framework consists of two parts: the common language runtime (CLR) and the Framework Class Library (FCL). The CLR provides the programming model that all application types will use. The CLR includes its own file loader, memory manager (the garbage collector), security system (code access security), thread pool, and so on. In addition, the CLR offers an object-oriented programming model that defines what types and objects are and how they behave.
The Framework Class Library provides an object-oriented API set that all application models will use. It includes type definitions that allow developers to perform file and network I/O, scheduling tasks on other threads, drawing shapes, comparing strings, and so on. Of course, all of these type definitions follow the programming model set forth by the CLR.
Microsoft has actually released three versions of the .NET Framework:
■ The .NET Framework version 1.0 shipped in 2002 and included version 7.0 of Microsoft’s C# compiler.
■ The .NET Framework version 1.1 shipped in 2003 and included version 7.1 of Microsoft’s C# compiler.
■ The .NET Framework version 2.0 shipped in 2005 and included version 8.0 of Microsoft’s C# compiler.
This book focuses exclusively on the .NET Framework version 2.0 and Microsoft’s C# compiler version 8.0. Since Microsoft tries to maintain a large degree of backward compatibility when releasing a new version of the .NET Framework, many of the things I discuss in this book do apply to earlier versions, but I have not made any attempts to address things that are specific to earlier versions.
Version 2.0 of the .NET Framework includes support for 32-bit x86 versions of Windows as well as for 64-bit x64 and IA64 versions of Windows. A “lite” version of the .NET Framework, called the .NET Compact Framework, is also available for PDAs (such as Windows CE) and appliances (small devices). On December 13, 2001, the European Computer Manufacturers Association (ECMA) accepted the C# programming language, portions of the CLR, and portions of the FCL as standards. The standards documents that resulted from this has allowed other organizations to build ECMA-compliant versions of these technologies for other CPU architectures as well as other operating systems. Actually, much of the content in this book is about these standards, and therefore, many will find this book useful for working with any runtime/library implementation that adheres to the ECMA standard. However, this book focuses specifically on Microsoft’s implementation of this standard for desktop and server systems.
Microsoft Windows Vista ships with version 2.0 of the .NET Framework, but earlier versions of Windows do not. However, if you want your .NET Framework application to run on earlier versions of Windows, you will be required to install it manually. Fortunately, Microsoft does make a .NET Framework redistribution file that you’re allowed to freely distribute with your application.
The .NET Framework allows developers to take advantage of technologies more than any earlier Microsoft development platform did. Specifically, the .NET Framework really delivers on code reuse, code specialization, resource management, multilanguage development, security, deployment, and administration. While designing this new platform, Microsoft also felt that it was necessary to improve on some of the deficiencies of the current Windows platform. The
following list gives you just a small sampling of what the CLR and the FCL provide:
■ Consistent programming model Unlike today, when commonly some operating system facilities are accessed via dynamic-link library (DLL) functions and other facilities are accessed via COM objects, all application services are offered via a common objectoriented programming model.
媒体评论回到顶部↑
“本书中,作者再次展示了他善于化繁为简的神奇能力,清晰、简明和准确地阐释了各种.NET技术。这是理解.NET技术内幕的必读之作。”.
——Jim Miller(微软CLR Kernel团队程序经理主管)
“如果想成为真正合格的.NET平台程序员,你迟早需要研读本书。”...
——PatrickSmacchia,微软MVP,《C#和.NET2.0实战:平台、语言与框架》作者
——Jim Miller(微软CLR Kernel团队程序经理主管)
“如果想成为真正合格的.NET平台程序员,你迟早需要研读本书。”...
——PatrickSmacchia,微软MVP,《C#和.NET2.0实战:平台、语言与框架》作者
相关资源回到顶部↑
· 【推荐】众多高校学子口口相传,他们共同的选择--华清远见嵌入式学院(嵌入式Linux就业课程、3G手机开发就业课程,通过入学测试即签100%就业协议,4个月集中实训,世界500强企业成功就业保障!!!)· 【亚嵌教育 嵌入式培训专家】(嵌入式培训,嵌入式Linux培训,ARM培训,Linux培训,3G培训,Android培训,WINCE培训,DSP培训,FPGA培训,嵌入式就业培训)
· InfoQ中文站论坛:.NET讨论区(InfoQ .NET)
· 程序员的7种武器(正则表达式、编程语言、数据库、算法、软件调试、开发环境)
· WCF的开山之作 WCF画卷的清明上河图(WCF WF WPF)
· 图灵公司详细书目
评论交流
共有45人开贴评论 72人参与评论 34人参与打分 查看
评价等级:







发表于:2008-8-19 14:10:00
本书是Jeffery Richter先生经典书籍《Applied Microsoft .NET Framework》的第二版,英文全书名为《CLR via C#》,原书由Microsoft Press出版。第一版有李建忠老师翻译,已被同行们誉为深入理解.NET框架的第一书。第二版在原.NET1.x的基础上,增加了.NET2.0的内容。
读过Jeffery先生书的读者们都会发现,Jeffery的书有一个共同的特点,从实际应用的角度发掘该应用内部的原理,同时提出自己观点。这种写作方式首先让读者有了感性的体会,最终到理性的认识。最难能可贵的是,本书(及其第一版)在探讨原理的同时,时而提出优化的方案,时而同其它部分关联比较,这样使读者有了深刻的全局观。
我读过本书的英文版,与第一版比较,第二版的主要贡献在于加入了.NET2.0的部分,同时对于第一版的部分主题做了深化。个人认为,无论是对于初学者,还是.NET平台的专业开发者,本书都有极高的研读价值(本人初学.NET就是读了本书的第一版,收获颇多)。对于初学者,有人认为应该由语言入手,我认为,在阅读本书的基础上学习,会有更深的体会和认识。
本书对于.NET框架的各个层面做了逐项的分析,包括CLR模型,程序集,类型,方法,事件,委托,接口,泛性,内存管理,垃圾收集,线程同步,应用程序域,CLR宿主,反射等诸多主题,按照逐个title的方式逐一讲述。其中穿插各种例子,作者的观点,底层的涵义,原理等等,是一本了解CLR原理的好书。本书是以C#为主要语言进行讨论,即时没有C#的学习经验,你同样能够理解本书的很多细节,因为Jeffrey提到本书并非是通过语言讲述CLR全貌,语言仅是一种工具。理解原理的基础上,再学习语言,会对内部的机制有更为深刻的感触。
本书内容的设计上涵盖了CLR的全貌,各个主题有联系又是一个独立的整体。Jeffrey在本书中给出了他对性能方面的观点,以便读者通过阅读本书,更好的设计性能可靠优良的框架。通过对原理的理解,在程序的设计方式上采用更为合理有效的方案,这也是本书的一个目的。
本书详细又不失具体性,深入浅出,由直观的认识上升到深入的理解框架本身。个人认为本书并不是一本参考书,而是适合认真通读全书,把握书中每一个细节。读罢之后,会感到自身的理论水平更上一层楼,再把结果运用于实际的设计开发过程中,会有一种真正入门的感觉。
总之,本书适合所有.NET的爱好者和开发者阅读,去体会.NET的魅力所在。
读过Jeffery先生书的读者们都会发现,Jeffery的书有一个共同的特点,从实际应用的角度发掘该应用内部的原理,同时提出自己观点。这种写作方式首先让读者有了感性的体会,最终到理性的认识。最难能可贵的是,本书(及其第一版)在探讨原理的同时,时而提出优化的方案,时而同其它部分关联比较,这样使读者有了深刻的全局观。
我读过本书的英文版,与第一版比较,第二版的主要贡献在于加入了.NET2.0的部分,同时对于第一版的部分主题做了深化。个人认为,无论是对于初学者,还是.NET平台的专业开发者,本书都有极高的研读价值(本人初学.NET就是读了本书的第一版,收获颇多)。对于初学者,有人认为应该由语言入手,我认为,在阅读本书的基础上学习,会有更深的体会和认识。
本书对于.NET框架的各个层面做了逐项的分析,包括CLR模型,程序集,类型,方法,事件,委托,接口,泛性,内存管理,垃圾收集,线程同步,应用程序域,CLR宿主,反射等诸多主题,按照逐个title的方式逐一讲述。其中穿插各种例子,作者的观点,底层的涵义,原理等等,是一本了解CLR原理的好书。本书是以C#为主要语言进行讨论,即时没有C#的学习经验,你同样能够理解本书的很多细节,因为Jeffrey提到本书并非是通过语言讲述CLR全貌,语言仅是一种工具。理解原理的基础上,再学习语言,会对内部的机制有更为深刻的感触。
本书内容的设计上涵盖了CLR的全貌,各个主题有联系又是一个独立的整体。Jeffrey在本书中给出了他对性能方面的观点,以便读者通过阅读本书,更好的设计性能可靠优良的框架。通过对原理的理解,在程序的设计方式上采用更为合理有效的方案,这也是本书的一个目的。
本书详细又不失具体性,深入浅出,由直观的认识上升到深入的理解框架本身。个人认为本书并不是一本参考书,而是适合认真通读全书,把握书中每一个细节。读罢之后,会感到自身的理论水平更上一层楼,再把结果运用于实际的设计开发过程中,会有一种真正入门的感觉。
总之,本书适合所有.NET的爱好者和开发者阅读,去体会.NET的魅力所在。
| 我要写评论 |
| 查看所有评论交流(共45条) |


点击看大图




加载中...
