More Effective C# 改善C#代码的50个有效方法(原书第2版)书籍 pdf下载pdf下载

More Effective C# 改善C#代码的50个有效方法(原书第2版)书籍 百度网盘pdf下载

作者:
简介:本篇主要提供More Effective C# 改善C#代码的50个有效方法(原书第2版)书籍 pdf下载
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍


基本信息

作者: [美] 比尔·瓦格纳(Bill Wagner)   

丛书名: Effective系列丛书

出版社:机械工业出版社

ISBN:9787111620716

上架时间:2019-3-18

出版日期:2019 年3月

开本:16开

页码:269

版次:1-1

所属分类:计算机 > 软件与程序设计 > C#

 

编辑推荐

 

经典畅销书《Effective C#》的进阶篇,世界知名专家Bill Wagner倾力撰写,针对C# 7.0全面更新

紧贴C#语言的设计理念,既从正面阐释如何编写高效代码,又从反面入手指出容易出错之处,涵盖C#语言的各个方面 

More Effective C#

50 Specific Ways to Improve Your C#

Second Edition

More Effective C#

改善C#代码的50个有效方法(原书第2版)

[ 美 ] 比尔 · 瓦格纳(Bill Wagner) 著

爱飞翔 译

 

内容简介

    书籍

    计算机书籍

在本书中,世界著名的.NET专家Bill Wagner介绍了用于写出健壮且容易完成的C# 7.0代码的50条中阶至高阶技巧,反映了C#语言及其开发社区的发展,可帮助读者解决每日编程工作中可能遇到的问题。 

 

目录

译者序

前言

第1章 处理各种类型的数据 / 1

第1条:使用属性而不是可直接访问的数据成员 / 1

第2条:尽量采用隐式属性来表示可变的数据 / 7

第3条:尽量把值类型设计成不可变的类型 / 11

第4条:注意值类型与引用类型之间的区别 / 16

第5条:确保 0 可以当成值类型的有效状态使用 / 21

第6条:确保属性能够像数据那样运用 / 25

第7条:用元组来限制类型的作用范围 / 30

第8条:在匿名类型中定义局部函数 / 35

第9条:理解相等的不同概念及它们之间的关系 / 40

第10条:留意GetHashCode()方法的使用陷阱 / 49

第2章 API设计 / 57

第11条:不要在API中提供转换运算符 / 57

第12条:尽量用可选参数来取代方法重载 / 61

第13条:尽量缩减类型的可见范围 / 65

第14条:优先考虑定义并实现接口,而不是继承 / 69

第15条:理解接口方法与虚方法之间的区别 / 77

第16条:用Event模式来实现通知功能 / 82

第17条:不要把类的内部对象通过引用返回给外界 / 87

第18条:优先考虑重写相关的方法,而不是创建事件处理程序 / 91

第19条:不要重载基类中定义的方法 / 94

第20条:了解事件机制为何会提升对象在运行期的耦合程度 / 98

第21条:不要把事件声明成virtual / 100

第22条:尽量把重载方法创建得清晰、简洁而完备 / 106

第23条:让 partial类的构造函数、mutator方法和事件处理程序调用适当的partial方法 / 112

第24条:尽量不要实现ICloneable接口,以便留出更多的设计空间 / 117

第25条:数组类型的参数应该用params加以修饰 / 122

第26条:在迭代器与异步方法中定义局部函数,以便尽早地报错 / 126

第3章 基于任务的异步编程 / 131

第27条:使用异步方法执行异步工作 / 131

第28条:不要编写返回值类型为void的异步方法 / 136

第29条:不要把同步方法与异步方法组合起来使用 / 141

第30条:使用异步方法以避免线程分配和上下文切换 / 146

第31条:避免不必要的上下文编组 / 147

第32条:通过Task对象来安排异步工作 / 151

第33条:考虑实现任务取消协议 / 157

第34条:缓存泛型异步方法的返回值 / 164

第4章 并行处理 / 167

第35条:了解PLINQ是怎样实现并行算法的 / 167

第36条:编写并行算法时要考虑异常状况 / 179

第37条:优先使用线程池而不是创建新的线程 / 185

第38条:考虑使用BackgroundWorker在线程之间通信 / 190

第39条:学会在XAML环境下执行跨线程调用 / 194

第40条:首先考虑用lock()实现同步 / 202

第41条:尽量缩减锁定范围 / 209

第42条:不要在加了锁的区域内调用未知的方法 / 212

第5章 动态编程 / 217

第43条:了解动态编程的优点及缺点 / 217

第44条:通过动态编程技术更好地运用泛型参数的运行期类型 / 226

第45条:使用DynamicObject和IDynamicMetaObjectProvider实现数据驱动的动态类型 / 229

第46条:学会正确使用Expression API / 240

第47条:尽量减少公有API中的动态对象 / 246

第6章 加入全球C#社区 / 253

第48条:流行的写法不一定合适 / 253

第49条:与大家一起制定规范并编写代码 / 255

第50条:考虑用分析器自动检查代码质量 / 256

中英文词汇对照表 / 258

 

↑折 叠

媒体评论

在本书中,世界知名.NET专家 Bill Wagner 讲述了 50 条写出健壮且高效的 C# 7.0 代码的开发技巧,这些技术能够帮助C#程序员解决日常工作中常见的问题。

Wagner在《Effective C#》的3 个版本中的清晰解释、专家技巧和真实代码用例,已经被成千上万个开发者证实是非常宝贵的。本书原书第2版在第1版的基础上做了大幅调整。它与《Effective C#》的 3 个版本一样,也以清晰而务实的风格,系统地呈现出了一套贴近当前 C# 语言的技巧与范例。书中给出的建议都是行之有效的,它们会告诉你怎样改用 C# 7.0 的新特性来更有效率地完成常见任务。

作为C#标准委员会的重要成员,本书作者Wagner利用他无与伦比的 C#开发经验,讲述了如何使用C#通过面向对象、函数和面向服务来管理数据,如何将设计理念传达给用户和其他开发者,以及如何利用强大的异步和动态编程技巧。

使用属性而不是可直接访问的数据成员(第 1 条)

注意值类型与引用类型之间的区别(第 4 条)

理解相等的不同概念及它们之间的关系(第 9 条)

不要在 API 里面提供转换运算符(第 11 条)

理解接口方法与虚方法之间的区别(第 15 条)

不要重载基类中定义的方法(第 19 条)

尽量把重载方法创建得清晰、简洁而完备(第 22 条)

在迭代器与异步方法中定义局部函数,以便尽早地报错(第 26 条)

使用异步方法执行异步工作(第 27 条)

使用异步方法以避免线程分配和上下文切换(第 30 条)

编写并行算法时要考虑异常状况(第 36 条)

优先使用线程池而不是创建新的线程(第 37 条)

考虑使用 BackgroundWorker 在线程之间通信(第 38 条)

尽量缩减锁定范围(第 41 条)

了解动态编程的优点及缺点(第 43 条)

学会正确使用 Expression API(第 46 条)

尽量减少公有 API中的动态对象(第 47 条)