.NET设计规范
正版书带塑封 14点之前订单当日发货 9969434536251228161
¥
11.45
1.7折
¥
69
九五品
仅1件
作者[美]克瓦林纳 著;葛子昂 译
出版社人民邮电出版社
出版时间2010-05
版次1
装帧平装
货号9969434536251228161
上书时间2024-12-24
商品详情
- 品相描述:九五品
图书标准信息
-
作者
[美]克瓦林纳 著;葛子昂 译
-
出版社
人民邮电出版社
-
出版时间
2010-05
-
版次
1
-
ISBN
9787115226518
-
定价
69.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
370页
-
字数
579千字
-
正文语种
简体中文
-
原版书名
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition)
-
丛书
图灵程序设计丛书
- 【内容简介】
-
数千名微软精锐开发人员的经验和智慧,最终浓缩在这本设计规范之中。与上一版相比,书中新增了许多评注,解释了相应规范的背景和历史,从中你能聆听到微软技术大师AndersHejlsberg、JeffreyRichter和PaulVick等的声音,读来令人兴味盎然。
本书虽然是针对.NET平台上的框架设计的,但对其他平台的框架设计同样具有借鉴意义。新版根据.NETFramework3.0和3.5的新特性做了全面更新,主要关注的是直接影响框架可编程能力的设计问题。遵守这些规范对于使用.NETFramework创建高质量的应用程序至关重要。
本书提供配套光盘,内含Designing.NETClassLibraries等13个演讲视频。此外,光盘还包括.NETFramework类和组件设计指南、API规范样例以及其他有用的资源和工具。
- 【作者简介】
-
KrzysztofCwalina,微软公司.NETFramework开发组项目经理。他为.NETFramework设计了多个API。还开发了FxCop等框架开发工具。目前。他正致力于在微软内部开发推广设计规范,将其应用到.NETFramework中。同时负责核心.NETFrameworkAPI的交付。
BradAbrams,微软公司CLR开发组和.NETFramework开发组的创始人之一,目前是项目经理主管。他参与制定了CLS、.NETFramework设计规范以及ECMA/ISOCLI标准中程序库标准,著有Programminginthe.NETEnvironment、.NETFrameworkStandardLibraryAnnotatedReference(卷1和卷2)等书。
葛子昂,毕业于南京理工大学计算机系。现任微软中国研发集团服务器及开发工具事业部的软件开发主管。目前正从事WindowsWorkflowFoundation(WF)的相关开发。致力于为WF开发人员提供方便高效的开发工具。之前曾长期从事WindowsCommunicationFoundation(WCF)产品的相关研发。加入微软前先后任职于育碧电脑软件有限公司和旭上电子有限公司,从事计算机游戏及图形处理器的开发。具有丰富的开发经验。出版有译作《.NET设计规范》、《Windows核心编程(第5版)》、《设计模式沉思录》。
- 【目录】
-
第1章概述1
1.1精心设计的框架所具备的品质2
1.1.1精心设计的框架是简单的2
1.1.2精心设计的框架设计代价高3
1.1.3精心设计的框架充满利弊权衡4
1.1.4精心设计的框架应该借鉴过去的经验4
1.1.5精心设计的框架要考虑未来发展4
1.1.6精心设计的框架应具有良好的集成性5
1.1.7精心设计的框架是一致的5
第2章框架设计基础7
2.1渐进框架9
2.2框架设计的基本原则12
2.2.1围绕场景进行设计的原则12
2.2.2低门槛原则18
2.2.3自说明对象模型原则22
2.2.4分层架构原则28
2.3小结30
第3章命名规范31
3.1大小写约定31
3.1.1标识符的大小写规则32
3.1.2首字母缩写词的大小写34
3.1.3复合词和常用术语的大小写36
3.1.4是否区分大小写37
3.2通用命名约定38
3.2.1单词的选择38
3.2.2使用单词缩写和首字母缩写词40
3.2.3避免使用编程语言特有的名字41
3.2.4为已有API的新版本命名43
3.3程序集和DLL的命名45
3.4名字空间的命名46
3.5类、结构和接口的命名50
3.5.1泛型类型参数的命名53
3.5.2常用类型的命名53
3.5.3枚举类型的命名54
3.6类型成员的命名56
3.6.1方法的命名56
3.6.2属性的命名57
3.6.3事件的命名58
3.6.4字段的命名59
3.7参数的命名60
3.8资源的命名61
3.9小结62
第4章类型设计规范63
4.1类型和名字空间65
4.2类和结构之间的选择70
4.3类和接口之间的选择73
4.4抽象类的设计79
4.5静态类的设计80
4.6接口的设计82
4.7结构的设计84
4.8枚举的设计86
4.8.1标记枚举的设计92
4.8.2给枚举添加值95
4.9嵌套类型97
4.10类型和程序集元数据98
4.11小结100
第5章成员设计101
5.1成员设计的通用规范101
5.1.1成员重载101
5.1.2显式地实现接口成员107
5.1.3属性和方法之间的选择110
5.2属性的设计115
5.2.1索引属性的设计117
5.2.2当属性发生改变时的通知事件119
5.3构造函数的设计121
5.4事件的设计128
5.5字段的设计134
5.6扩展方法136
5.7操作符重载142
5.7.1重载operator==146
5.7.2类型转换操作符146
5.8参数的设计147
5.8.1枚举和布尔参数之间的选择149
5.8.2参数的验证151
5.8.3参数的传递154
5.8.4参数数量可变的成员156
5.8.5指针参数159
5.9小结161
第6章扩展性设计162
6.1扩展机制162
6.1.1非密封类162
6.1.2受保护的成员164
6.1.3事件与回调函数165
6.1.4虚成员169
6.1.5抽象(抽象类型与抽象接口)171
6.2基类173
6.3密封174
6.4小结177
第7章异常178
7.1抛出异常182
7.2为抛出的异常选择合适的类型187
7.2.1错误消息的设计190
7.2.2异常处理191
7.2.3封装异常196
7.3标准异常类型的使用197
7.3.1Exception与SystemExcep-tion198
7.3.2ApplicationException198
7.3.3InvalidOperationException198
7.3.4ArgumentException、ArgumentNullException及ArgumentOutOfRange-Exception199
7.3.5NullReferenceException、IndexOutOfRangeException及AccessViolationException199
7.3.6StackOverflowException200
7.3.7OutOfMemoryException201
7.3.8ComException、SEHException以及ExecutionEngine-Exception202
7.4自定义异常的设计202
7.5异常与性能203
7.5.1Tester-Doer模式204
7.5.2Try-Parse模式205
7.6小结206
第8章使用规范207
8.1数组207
8.2修饰属性208
8.3集合211
8.3.1集合参数213
8.3.2集合属性与返回值214
8.3.3数组与集合之间的选择218
8.3.4自定义集合的实现218
8.4DateTime和DateTimeOffset220
8.5ICloneable222
8.6IComparable与IEquatable223
8.7IDisposable225
8.8Nullable225
8.9Object226
8.9.1Object.Equals226
8.9.2Object.GetHashCode228
8.9.3Object.ToString229
8.10序列化231
8.10.1选择要支持的序列化技术232
8.10.2对数据协定序列化的支持233
8.10.3对XML序列化的支持237
8.10.4对运行时序列化的支持238
8.11Uri239
8.12System.Xml的使用241
8.13相等性操作符242
8.13.1值类型的相等性操作符243
8.13.2引用类型的相等性操作符243
第9章常用的设计模式244
9.1聚合组件244
9.1.1面向组件的设计245
9.1.2因子类型248
9.1.3聚合组件规范249
9.2Async模式251
9.2.1选择合适的Async模式251
9.2.2经典Async模式253
9.2.3Async模式的基本实现样例256
9.2.4基于事件的Async模式257
9.2.5对输出参数和引用参数的支持259
9.2.6对取消操作的支持260
9.2.7对进度报告的支持260
9.2.8对增量结果的支持262
9.3依赖属性263
9.3.1依赖属性的设计264
9.3.2附加依赖属性的设计266
9.3.3依赖属性的验证267
9.3.4依赖属性的改变通知268
9.3.5依赖属性的强制赋值269
9.4Dispose模式269
9.4.1基本Dispose模式272
9.4.2可终结类型277
9.5Factory模式281
9.6对LINQ的支持285
9.6.1LINQ概要285
9.6.2支持LINQ的几种方法286
9.6.3通过IEnumerable来支持LINQ287
9.6.4通过IQueryable来支持LINQ287
9.6.5通过Query模式来支持LINQ288
9.7OptionalFeature模式291
9.8SimulatedCovariance模式294
9.9TemplateMethod模式299
9.10超时301
9.11可供XAML使用的类型303
9.12结束语305
附录AC#编程风格约定306
附录B通过FxCop来实施设计规范313
附录CAPI规格书样例343
术语表350
推荐读物354
索引356<<隐藏目录详情
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价