这个寒冬,如何让我们的身价翻倍?

这个寒冬,如何让我们的身价翻倍?

——《深入理解.NET(第2版·英文版)》读后感

微软4大名著评选结果揭晓

在开始正文之前,我先给大家讲一个真实的故事:我有一位朋友,他的一位同学原来是做测试的,几乎没有碰过.NET,工资只有1.5k后来,他辞职回家,利用3个月时间在家苦读了一本书。三个月后,他前往上海找工作,在微创谋得一份开发工程师的职位,月薪6.5K。面试的时候,他将在本书中所学的垃圾收集等CLR内幕知识随口道出,给面试官留下来深刻的印象。究竟是什么书这么神奇呢?这本书就是.NET领域内的不朽之作——《深入理解.NET(第2版·英文版)》!

 

说作者:windows平台上开发的程序员肯定都知道Jeffery Richter(如果你还不知道,请赶快用最顺手的搜索引擎搜一把)。Jeffery Richter是微软很多项目的咨询顾问,包括.NET。他的文章总是从原理处入手,深入浅出的娓娓道来,将一个个问题在你面前慢慢的剖开,看他的书的时候总是会不断的点头,嘴里念着:哦,原来如此啊。这和市面上充斥大量的讲示例,抄MSDN的书有很大的不同。

说此书:这本书的第一版我在大学的时候就读了,记得我那个不大的学校的图书馆里有几本,可是从大二到大四,三年中我只借到了一次,预约了很多次都没有到手,不知是谁长久的霸占着她。.NET 2.0发布后Jeffery Richter也很快对这本书做了更新,书名也换了—CLR via C#,抱着对第一版的崇敬,手里也有几个闲钱我就奔到书店想入手一本,可是拿起来的时候,怎么,译者变了?当时的第一反应就是,打住,到网上搜搜评论然后再决定买。后来发现第一版的译者李建中老师由于和某某出版社发生了一些不愉快的事情,所以放弃了第二版的翻译,更要紧的是第二版的评论却不是很好,如是买书的想法就此作罢。

终于,今年图灵出版社引进了这本书的影印版,现在大家可以以中文书的价格,享受这块Jeffery Richter精心制作的蛋糕。

说内容:.NET1.0走到今天的3.5,还有即将到来的4.0,我们无不感受到技术革新速度之快,在繁忙的工作当中,我们如何应对变化?软件设计里,我们知道,应对变化最好的办法就是首先找出不变的东西,那么.NET里什么是不变的?或者变化速度很慢?那就是CLR,虽然.NET已经发布了这么多版本,但目前CLR只有两个版本。

下面就列举本书中一些精彩内容:

本书开始的时候就以启动一个.NET程序,操作系统如何执行它,CLR何时以及如何参与进来,JIT编译器如何编译代码将.NET程序运行过程说的明明白白,很多人都知道.NET程序是运行在托管环境里,却不知道操作系统运行一个普通的Win32程序和一个.NET程序有何区别。然后又用大量的篇幅介绍讲解程序集的文件结构以及元数据(大多.NET程序员都没有Win32编程的经验,对于PE文件也许都了解很少)。

在第三章,作者为我们准备的是强命名程序集相关的内容,这可是.NET解决DLL Hell的法宝。

在第五章中,最感兴趣的莫过于值类型的装箱和拆箱了,在.NET中很多地方性能问题就是由于这个所引起的,我也是在这里第一次知道装箱和拆箱居然不是互逆的过程。

对于面向对象中,成员的可见性和虚方法的调用是非常重要的,你可以在本书第六章获取相关知识。

对于属性,这是.NET引进的一个新元素,OO里为了不将类型内部的字段直接暴露给类型外部,常常编写一些settergetter方法,类型外部通过这些方法访问字段(这也是Java里到处是setXXXgetXXX方法的原因),.NET里的属性具有访问字段的简便性,也有settergetter方法的封装性,但是你知道.NET是如何实现属性的么?本书第九章会告诉你。

Windows本来就是一个事件触发的系统,点击按钮会触发事件,时间到会触发事件,.NETWin32的消息循环封装,提供了一个名为事件的语言元素,通过本书第十章,你会了解到事件这个成员编译后,居然是一个字段两个方法,本章开始就用一个很生动的例子给你透透彻彻的讲解了一番事件的用法。随着你使用.NET的时间越来越长,你会发现事件真是一个好东西,你会不再限于使用.NET提供的那些事件,还会编写自己的事件,向外界暴露接口。在本章,作者还说了一句很深刻的话,忘记原话是怎么说的,意思是.NET里只有类、字段和方法三种元素,其他的事件啊,委托啊,等等一切都是基于这些东西的封装。

编写代码时,几乎时时要与字符串打交道,如何高效的使用字符串?在公司,我看到一个遗留项目的代码里用几十次加号将一串的变量字符串拼装成一个SQL语句(也许你也见到过),而这个字符串拼装的过程几乎每一次访问数据库都要执行一次,我当时就在想那位仁兄肯定没有看过这本书,在本书的第十一章作者介绍了为什么这样的拼装是性能低下的,还告诉我们StringBuilder是更好的方案,不仅如此,还告诉我们这其中是为了什么。

我们也许都知道枚举这个东西,但很多人可能不知道还有一个位标记,还记得以前设计的一个权限管理系统就是以位标记位基础的。关于位标记更多内容本书第十二章有更详细的介绍。

作为.NET 2.0中的重头戏泛型,本书第十六章用了一章的篇幅介绍,从泛型的使用到泛型约束,每一个细节都没有错过。

本书第17章介绍的是Attribute,这个东西和反射配合起来真是魅力无穷啊,很多ORM框架都是以此作为基础,现在在工作中真是爱死她了。Attribute就像一个标签,贴在哪里就粘在哪里,可以在运行时通过反射查询这些标签,你就可以获取一些额外信息。

大部分程序都是数据库驱动的,在数据库中我们可以将一个整型的字段置为null,但是在.NET里却不行,怎么办?.NET 2.0为我们带来了可空值类型,这在本书第十八章有介绍。

十八章内容是不是觉得很丰富了?可不,更丰富的还在后头,最后一部分作者用了六章为我们详细讲解了CLR的相关特性,最精彩的莫过于最后两章:异步操作和多线程相关的内容。

第二十章的垃圾收集可谓透彻,如果你想面试.NET的高端职位此章的内容可一定要看的仔仔细细的,这可是.NET的精华之一。 

书很精彩,作者很牛,最后的决定在于你,赶快买一本备在手边随时翻翻吧。 

谨以此文答谢Jeffery Richter为我们带来这本好书,图灵出版社为我们引进此类佳作。 

附上几个网上书店地址:

china-pub:深入理解.NET(第2版.英文影印版)  76元
当当网:深入理解.NET(第2版.英文影印版)  71.3元
卓越网:深入理解.NET(第2版.英文影印版) 71.2元

 

鸣谢:本文转载自http://www.cnblogs.com/yuyijq/archive/2009/01/04/1368462.html。本文的作者是一位年轻有为的.NET工程师,翻译了《C# 3.0 Unleashed》(将由图灵公司出版)一书。

转载于:https://www.cnblogs.com/turingbooks/archive/2009/01/04/1368486.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core 配置 - 创建自定义配置提供程序

ASP.NET Core 配置 - 创建自定义配置提供程序在本文中,我们将创建一个自定义配置提供程序,从数据库读取我们的配置。我们已经了解了默认配置提供程序的工作方式,现在我们将实现我们自己的自定义配置提供程序。对于自定义配置提供程序&#xf…

为什么你的孩子拼命做题,成绩还总是上不去?

▲ 点击查看以前有句名言:“学好数理化,走遍天下都不怕。”这句话放到现在可能并不一定适用,但是数理化生仍然是在孩子整个学习生涯中,占比分量非常重的学科。然而,对很多孩子而言,学习数理化生却是很枯燥乏…

js请求结果拦截机器_CefSharp请求资源拦截及自定义处理

前言在CefSharp中,我们不仅可以使用Chromium浏览器内核,还可以通过Cef暴露出来的各种Handler来实现我们自己的资源请求处理。什么是资源请求呢?简单来说,就是前端页面在加载的过程中,请求的各种文本(js、cs…

ListView

2019独角兽企业重金招聘Python工程师标准>>> ListView总结(多选框ListViiew,动态加载,多线程更新ListView中的进度条) convertView缓存及使用 ListView 更高效的使用 Adapter ListView中convertView和ViewHolder的工作原理 convertView&setTag方…

原来,程序的世界远比我想象的精彩

原来,程序的世界远比我想象的精彩 注:本文转载自http://www.cnblogs.com/dingxue/archive/2008/12/23/1360908.html,作者丁学。文中所有的 Pxx 指得是《Erlang程序设计》一书中的页码,书的信息放在文章最后。人都说无知者无畏&am…

【MSLearn 学习模块】Hi ! ⼀起来学Python

随着大数据、人工智能、物联网的兴起,Python越来越受到大家的关注。不论你是⼀位学生,是一位传统的码农,还是非计算机领域的从业人员都离不开Python。当然大家的角度不⼀样,作为学生是以学为主,码农是以用为主&#xf…

有趣的12张数学原理动图,令人舒心却又伤脑!你看懂几个?

全世界只有3.14 % 的人关注了爆炸吧知识下面的12张数学动图你能看懂几个,反正知识君是都看懂了。1.被简单证明的勾股定理给三角形加上一点厚度。从面积问题,跳转到了具象的体积问题。2.勾股定理的面积证明法Its a long story……慢慢看。3.周长和直径的π…

typora插入代码设置_Typora基本功能介绍

Typora是什么?提起Typora,如果是使用过Markdown的人,应该就不太陌生,Typora 是一款支持实时预览的 Markdown 文本编辑器。它有 OS X、Windows、Linux 三个平台的版本,并且由于仍在测试中,是完全免费的。在T…

【DotNetMLLearn】.NET Core人工智能系列-概述

.NETer大家好,今天为大家送上.NET Core 下如何完成人工智能应用的系列,希望给.NETer进入人工智能领域提供一个指引。.NET Core已经是一个全场景应用的技术栈方案,对于每一个领域都有支持。自从微软在开源发力后,.NET Core的社区能…

fanuc机器人控制柜接线_FANUC涂胶标定参考

FANUC涂胶标定参考1、进入SETUP界面2、选择DISPENCE界面3、选择15 flow rate control,按F2 detail进入4、进入标定界面此画面定义含义如下:(1)为涂胶标定单位,TCPP BEAD WIDTH宽度为基准(2)为 输入理想涂胶宽度,desired flow rate(3)为定义出胶轨迹sample program(一…

硬盘坏道修复白皮书

常识:硬盘坏道分类 - 不同坏道分仔细由于硬盘采用磁介质来存储数据,在经历长时间的使用或者使用不当之后,难免会发生一些问题,也就是我们通常所说的产生“坏道”,当然这种坏道有可能 是软件的错误,也有可能…

糟糕!复工后,最让人担心的问题又又又来了!

▲ 点击查看你复工多久了?当我们在家宅着的时候,一天到晚都想着什么时候才能出去。然而现在公司一通知复工,其实心里还是有点犯怵。先不说通勤了,上班吃饭就有又成为大家绕不开的问题。现在虽然可以在外面点外卖,但说实…

Myeclipse中Tomcat的两种部署方式

一、在Myeclipse软件中部署 1、 在Myeclipse中,创建好工程后,在Myeclipse菜单栏中选择 Windows -> Preferences -> Myeclipse -> Tomcat5,选择"Enable";Tomact Home Directory要选择你机器上Tomcat所安装的目录…

配置yml_dctc:生成docker-compose.yml配置的工具

有时候,我们需要想知道docker容器的运行参数、环境变量等配置,以便容器以后被删掉之后,可以重新运行起来。特别是在测试环境,有些容器可能就是一个docker run就运行起来了。或者随便找一个目录丢了一个docker-compose.yml运行起来…

Silverlight 2 应用程序部署到任意HTML页面

Silverlight 2 应用程序部署到任意HTML页面,可以采用ActiveX的方法,在页面中放入object标签,设置相应的属性即可。使用 object 元素,可以用与所有受支持浏览器兼容的方式在 HTML 中嵌入和配置 Silverlight 插件。具体可参看&#…

对于“知识”,我们存在哪些误解?

全世界只有3.14 % 的人关注了爆炸吧知识对于不少用户来说,微信已经成为了获取新资讯的重要途径之一。如何保证自己找到「值得看」的内容?每天更新的文章这么多,哪些才值得你看呢?今天就为大家推荐一些颜值与才华并存的好评公众号。…

一个搜索需求搞垮微服务

“编程十几年,我只希望能把技术讲明白而已,当然能帮到各位更是深感荣幸“假如你是一名架构师或者技术领导人,一定要深深的知道,没有完美的技术方案,要不然编程技术早就万佛归一。微服务作为近几年新兴的技术概念&#…

Mybatis批量更新转

Mybatis批量更新 批量操作就不进行赘述了。减少服务器与数据库之间的交互。网上有很多关于批量插入还有批量删除的帖子。但是批量更新却没有详细的解决方案。 实现目标 这里主要讲的是1张table中。根据不同的id值,来update不同的property。 数据表:1张。…

45组超炫数学动图,原来当年我如此牛!

全世界只有3.14 % 的人关注了爆炸吧知识想当年我们在数学的海洋里如饥似渴的遨游,什么公式、字母和图形,接招拆招、扫平了无数数学难题,八面威风,牛的不行不行的!!!下面的45组数学动图&#xff…

这样的书值得你读

本文来自豆瓣网网友评论 1.我正在做一个情报分析系统,是一个决策交易系统的基础。里面的很多东西正是我需要的。我觉得很好 我自己想的话 浪费时间。 2.一位垂直搜索开发人员来信说到:我非常有幸买了你们出的《自己动手写搜索引擎》,谢谢你们…