第一次看到这本书的时候,就感觉到了这本书的分量
Don Box(Don Box的个人网站已经更改,变成了Blog的形式:参见(http://www.gotdotnet.com/team/dbox/)在电脑界具有“鬼才”之称,发表过大量的技术文章。他的技术水准无可挑剔。个人觉得,有时候他写的东西很难读懂。但即使是这样.这本书的内容还是值得我们反复阅读的。读过《Essential COM》、《Fssential XML》、《Effective COM》《Creating Components DCOM C++》等书的读者,对丁Don Box这些底层技术的精彩描述想必一定是深有体会的。
有人说,Microsoft的NEt技术只是实现跨语言,而没有做到真正的跨平台,这一点不如Java。就目前的情形而言似乎是这样。也有人说,CLR(公共语言运行库)作为NET的核心部分,尽管Microsoft已经将其称为标准,但时下只有Windows系列的操作系统上可以跑CLR。相比之FJVM(java虚拟机)则与众多的操作系统兼容。Microsoft曾经表示过乐意资助或支持任何交叉平台的.NET,但是对于GPL,Microsoft是持谨慎态度的;事实上,在2001年有一个小组启动了一个名为“Mono”的计划,致力于实现Linux/Unix下的NET。这个小组目前已经扩充到了50多人,他们已经有5人是Ximian(Ximian是一家专门从事为一般计算机用户改进Linux操作系统的公司,Ximian现在已经并入Novell,洋情参见http://www.ximian.com)的全职雇员,他们正在做着一件极其了不起的事情,你可以在http://www.go-mono.org上看到他们工作的最新进展。不过,Microsoft对于跨平台的应用也有着一套自己的解决之道,那就是NET Web Services。本书的重点是CLR,刘于NET Web Services,Don Box在本书的前言中说准备近期推出本书的姊妹篇,我们将拭目以待,COM(组件对象模型)技术真的会消失吗?Don Box曾经谈到了COM之后的世界(参见http://www.csdn.net/develop/Read_Article.asp?id=12824)。
问: Is COM Dead?
Don Box:Yes:OLE32.DLL
关于“COM is Dead”的说法,在2000年的PDC开发者大会上,Microsoft就曾宣称令人头疼的COM编程模型将彻底消失,IUnknown等接口将不再出现,取而代之的将是CLR。不过,要知道COM是Windows的基础,CLR和COM技术之间有着极深的渊源。应该说COM的精神并没有消失,而是有了非常大的进步,本书即将揭开这个谜团,并一步一步带领您揭开CLR的神秘面纱,在这里Don Box将会告诉你,CLR其实是一个更好的COM。
CLR最令开发人员激动的是,它推出了一个比它的前身COM更为简洁的开发模型.你不再需要掌握GUIDs、IUnknown、AddRef、Release就能进行组件开发!在NET中语言的差异似乎不再那么明显,因为所有NET语言共享相同的类库;令人厌烦的内存管理,也将被GC(自动垃圾回收)所取代;在访问代码和资源时,CLR实施了代码访问安全策略这种安全性深深地植根于CLR之中,这种对操作系统级的安全性的扩展,可以说是种很大的进步。
本书由10章组成,探讨了CLR的里里外外,涵盖了基本类型、实例方法调用和消息、AppDomain、安全,以及CLR外部世界。
本书不仅讨论了类型是怎样映射到CLR的,还讨论了这些类型在运行时的行为:然后讲述了类型、对象、值之间的联系及它们之间的相互作用:接下来的内容是消息(高级方法,.Net RemoLing的基础及方法调用;再有就是关丁AppDomain的讨论(我理解为CLR -的“进程”):最后,以CLR安全模型和CLR外部世界结尾。这些技术很艰深,但对于一名渴望深入了解CLR底层运作机制的爱好者来说,这绝对是一本让人大呼过瘾的好书,因为其字里行间都足极具价值的技术信息,例如,CLR中的类型是如何初始化的.is和as操作符(对应于isinst)与C风格的强制类型转换(对应于castclass)之间的差别,对象在内存中的数据结构和对象的生存期,以及避免程序性能下降的技巧,如在方法调用时如何正确处理多个预处理( pre-process)和后处理(posr-process)过程的方法,这些技术对于创建高效的应用程序是很有用的。
严格地说,本书并不是写结初学者的,与Jeffrey Richter的《Applied Microsoft@ .Net Framework Programming》相比,它更偏向于底层机制,如果你有C++和COM的背景,那么就会更深刻地体会到这一点,因为在书中你会看到很多C++以及COM的痕迹。本书中描述的技术并不限于某种特定语言.Don Box试图做到与语言无关,但根多例子都是用c#写的。作为一本解释why(相当于那些How to)的书,这本书和Don Box的其他书样,描述详尽,充满了专家级的指导;在翻译过程中最深的体会是,这不是一本看完了就会放在一边的书,因为你可能需要花很多时间来读这本书才能真正明白CLR的思想。当你完成了这项艰难的阅读后,体会发现这是一本值得收藏的经典之作!
为了尽量能地照顾不同技术水平的读者,我增加了多处译注,希望将Don Box对NET深层次的理解诠释得更清楚。存整个翻译过程中,我总是试着站在读者的角度换位地思考——“这句话这么说,读者会理解吗?”尽管这样恐怕还是有不尽人意的地方。为了亡羊补牢,以及更好地_支持这本书的阅读,
我将通过网站http://www.coreader.com,将本书的勘误整理出来放在网上,同时与大家一起共同探讨技术方面的问题,并提供一些本书相关的源代码。
感谢通常是一篇序变长的原因,因为一布好书的出版,里面必然蕴含了很多人的心血,首先要感谢的当然是Don Box和Chris SeJls,他们为我们的书架叉增添了一本经典!翻译的过程,是顿悟的过程,也是自我提高的过程。
和我以前的翻译工作一样,在本书的翻译过程中得到了许多朋友的支持。谭立平是我近期工作的合作伙伴,他贡献了本书部分章节的翻译与校对,并和我一起编写测试代码,验证作者的理论。卢青锋也是我的合怍伙伴之一,他为http:www.coreader.com网站的开发做了大量的工作。本书在china-puh上引起争议之后(参见http://www.china—Pub com,computers/common/info.asp?id=14700),我的老朋友汤涛为本书的前四章提出了修改意见;还有我从未见过面的南京大学数学系学生刘来鹏,他对序言、第1章等的修改意见是建设性的。同以往一样,我与中国电力出版牡的台作非常愉快我的老朋友高军自然就不用说了。谢工、关墩对这本书的进度与质量提出了严格的要求,并给予了我极大的鼓舞。朱恩从近乎“吹毛求疵”的编辑,毙掉了不少Bug;此外,与china-pub上众多网友进行的诚挚而热烈的讨论使我受益良多,让我更深刻地体会到强烈的责任感;
虽然,我在翻译的过程中忆十分小心,但仍然可能会有所疏漏,敬请各位谅解并予以指正。
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf】
打赏
扫码打赏,您说多少就多少