书名:More Effective C#中文版改善C#程序的50个具体办法
作者:[美]BillWagner
译者:陈黎夫
ISBN:9787115215703
出版社:人民邮电出版社
出版时间:2009-11
格式:epub/mobi/azw3/pdf
页数:308
豆瓣评分: 7.8
书籍简介:
“作为C#设计组的成员,很少有书能够让我从中学到什么新东西,本书则是个例外,它很好地将特定的代码和深入的分析结合了起来。……这一富有洞察力的、充满远见的内容会对你日后的C#学习给予很大的启发和帮助。” ——Mads Torgersen,微软公司Visual C#项目经理 “Bill Wagner为C#开发人员撰写了一部精彩绝伦的图书,其中介绍了大量C#最佳实践。……若想成为C#开发的顶级高手,那么没有什么资料比Bill Wagner的这本书更好了。Bill非常智慧、深刻,富有经验和技巧。若能将这本书中给出的建议应用到你的代码中,定会大大提高你的工作质量。” ——Charlie Calvert,微软公司Visual C#社区项目经理 C#语言已经成为目前功能最强大的通用语言之一,近几年的几次升级更是令C#编程世界发生了极大的改变。本书是Effective C#的续作,秉承了Effective经典系列的卓越风格,用真实的代码示例,通过清晰、贴近实际和简明的阐述,以条目形式为广大程序员提供了凝聚业界经验结晶的专家建议。 本书中,著名.NET专家Bill Wagner围绕C# 2.0和3.0中的新特性给出了实用的建议,涉及泛型、多线程编程、设计实践、C# 3.0语言增强、LINQ、可空类型等主题,讲述了如何在开发中使用这些新语言特性,如何避免误用所造成的影响。书中每个条目自成一体,针对使用C#时的某个特定问题,帮助你以最佳的方式切换至C# 3.0。通过阅读本书,读者完全可以举一反三,将其中许多建议应用到自己的日常编程工作中。
作者简介:
Bill Wagner
拥有超过25年的软件开发经验,世界知名的.NET专家,微软C# MVP,并荣获微软Regional Director称号。他是著名软件咨询公司SRT Solutions的创始人,曾经领导了众多成功的Windows平台产品的开发。他是微软开发社区的活跃人物,长期担任MSDN Magazine、ASP.NET Pro、Visual Studio Magazine等技术杂志的专栏作者。他还是畅销书《Effective C#中文版》 (人民邮电出版社, 2007)的作者。
他的博客是http://srtsolutions.com/blogs/billwagner,可以通过bill.wagner@srtsolutions.com与他联系。
陈黎夫
毕业于上海交通大学计算机科学专业。有多年业界经验,曾在微软、EMC等公司任职,现任某创业技术公司CTO。专注于微软技术与LAMP开发平台,并连续3年荣获微软MVP称号。有多本计算机领域内著作/译作出版,内容涵盖CSS、AJAX 、ASP.NET、C#、LINQ和.NET平台架构等多个方面。可以通过dflyingchen@gmail.com与他联系。
书友短评:
@ [已注销] 一般般 内容较初级 功力没有Effective C++深厚 @ 小强. 居然有中文版了 http://www.turingbook.com/Books/ShowBook-511.aspx @ 飘飘白云 带上 Effective 标签就有水准保障,个人感觉这本 More 比无 More 前缀的那本要 More 一些。。。C# 进阶必读 @ 路过 看了一半发现是学长翻译的。 Linq的使用有待加强啊 @ Josen Zhang 这大叔写得~~~~ @ 懒牛随想 经典不解释 @ 飘飘白云 带上 Effective 标签就有水准保障,个人感觉这本 More 比无 More 前缀的那本要 More 一些。。。C# 进阶必读 @ Erucy 终于看完鸟…… @ imzrh 正在读第二版,第二版包含了4.0的一些知识,很好,推荐一读。http://www.cnblogs.com/zhangronghua/archive/2012/02/01/ReadingNotesForEffectiveCSharp2nd.html# @ zpp Effective 系列
第1章 使用泛型
条目1:使用1.x框架API的泛型版本
条目2:恰到好处地定义约束
条目3:运行时检查泛型参数的类型并提供特定的算法
条目4:使用泛型强制编译期类型推断
条目5:确保泛型类型支持可销毁对象
条目6:使用委托定义类型参数上的方法约束
条目7:不要为基类或接口创建泛型的特殊实现
条目8:尽可能使用泛型方法,除非需要将类型参数用于实例的字段中
条目9:使用泛型元组代替out和ref参数
条目10:在实现泛型接口的同时也实现传统接口
第2章 C#中的多线程
条目11:使用线程池而不是创建线程
条目12:使用BackgroundWorker实现线程间通信
条目13:让lock()作为同步的第一选择
条目14:尽可能地减小锁对象的作用范围
条目15:避免在锁定区域内调用外部代码
条目16:理解Windows窗体和WPF中的跨线程调用
第3章 C#设计实践
条目17:为序列创建可组合的API
条目18:将遍历和操作、谓词以及函数分开
条目19:根据需要生成序列中的元素
条目20:使用函数参数降低耦合
条目21:让重载方法组尽可能清晰、最小化且完整
条目22:定义方法后再重载操作符
条目23:理解事件是如何增加对象间运行时耦合的
条目24:仅声明非虚的事件
条目25:使用异常来报告方法的调用失败
条目26:确保属性的行为与数据类似
条目27:区分继承和组合
第4章 C# 3.0语言增强
条目28:使用扩展方法增强现有接口
条目29:使用扩展方法增强现有类型
条目30:推荐使用隐式类型局部变量
条目31:使用匿名类型限制类型的作用域
条目32:为外部组件创建可组合的API
条目33:避免修改绑定变量
条目34:为匿名类型定义局部函数
条目35:不要在不同命名空间中声明同名的扩展方法
第5章 使用LINQ
条目36:理解查询表达式与方法调用之间的映射
条目37:推荐使用延迟求值查询
条目38:推荐使用lambda表达式而不是方法
条目39:避免在函数或操作中抛出异常
条目40:区分早期执行和延迟执行
条目41:避免在闭包中捕获昂贵的外部资源
条目42:区分IEnumerable和IQueryable数据源
条目43:使用Single()和First()来明确给出对查询结果的期待
条目44:推荐保存Expression[]而不是Func[]
第6章 杂项
条目45:最小化可空类型的可见范围
条目46:为部分类的构造函数、修改方法以及事件处理程序提供部分方法
条目47:仅在需要parms数组时才使用数组作为参数
条目48:避免在构造函数中调用虚方法
条目49:考虑为大型对象使用弱引用
条目50:使用隐式属性表示可变但不可序列化的数据
索引
· · · · · ·
添加微信公众号:好书天下获取
评论前必须登录!
注册