本书为框架设计师和广大开发人员设计高质量的软件提供了权威的指南。书中介绍了在设计框架时的最佳实践,提供了自顶向下的规范,其中所描述的规范普遍适用于规模不同、可重用程序不同的框架和软件。这些规范经历.NET框架三个版本的长斯开发,凝聚了数千名开发人员的经验和智慧。微软的各开发组正在使用这些规范开发下一代影响世界的软件产品。
本书适用于框架设计以及相关的专业技术人员,也适用于高等院校相关专业的学生和教师阅读参考。
NET设计规范:.NET约定、惯用法与模式
内容提要 :
本书为框架设计师和广大开发人员设计高质量的软件提供了权威的指南。书中介绍了在设计框架时的最佳实践,提供了自顶向下的规范,其中所描述的规范普遍适用于规模不同、可重用程序不同的框架和软件。这些规范经历.NET框架三个版本的长斯开发,凝聚了数千名开发人员的经验和智慧。微软的各开发组正在使用这些规范开发下一代影响世界的软件产品。
本书适用于框架设计以及相关的专业技术人员,也适用于高等院校相关专业的学生和教师阅读参考。 编辑推荐 :
2006年JOLT生产效率大奖得主!来自微软。NET框架设计组的智慧结晶, 洞悉。NET技术内幕,.NET开发者的必备图书.
本书为框架设计师和广大开发人员设计高质量的软件提供了权威的指南。书中介绍了在设计框架时的最佳实践,提供了自顶向下的规范,其中所描述的规范普遍适用于规模不同、可重用程序不同的框架和软件。这些规范经历.NET框架三个版本的长斯开发,凝聚了数千名开发人员的经验和智慧。微软的各开发组正在使用这些规范开发下一代影响世界的软件产品。 本书适用于框架设计以及相关的专业技术人员,也适用于高等院校相关专业的学生和教师阅读参考。 作者简介 :
Krzysztof Cwalina微软公司公共语言运行库(CLR)的项目经理。他曾为.NET框架的首个版本设计API,并负责任框架中的多个名字空间,包括System.Collections、System.Diagnostics、System.Messaging,等等。他也是FxCop开发组的发起成员之一。目前,他正致力于在整个公司范围内开发推广设计规范,并将其应用到.NET框架和WinFX中。
葛子昴,1998年毕业于南京理工大学计算机系,目前就职于微软件亚洲工程院上海分院,致力于Windows Server的相关研发。之前曾先后任职于上海碧电脑软件有限公司和上海旭上电子有限公司,从事游戏软件的开发及图形处理器的设计。
目录 :
第1章 概述
1.1 精心设计的框架所具备的品质 第2章 框架设计基础 2.1 渐进框架 2.2 框架设计的基本原理 2.3 小结 第3章 命名规范 3.1 大小写约定 3.2 通用命名约定 3.3 程序集和DLL的命名 3.4 名字空间的命名 3.5 类、结构和接口的命名 3.6 类型成员的命名 3.7 参数的命名 3.8 资源的命名 3.9 小结 第4章 类型设计规范 4.1 类型和名字空间 4.2 类和结构之间的选择 4.3 类和接口之间的选择 4.4 抽象类的设计 4.5 静态类的设计 4.6 接口的设计 4.7 结构的设计 4.8 枚举的设计 4.9 嵌套类型 4.10 小结 第5章 成员设计 5.1 成员设计的一般规范 5.2 属性的设计 5.3 构造函数的设计 5.4 事件的设计 5.5 字段的设计 5.6 操作符重载 5.7 参数的设计 5.8 小结 第6章 为扩展性而设计 第7章 异常 第8章 使用规范 第9章 常用的设计模式 附录A C#编程风格约定 附录B 通地FxCop来实施设计规范 附录C API规范样例 术语表 推荐读物 索引 译者序:
软件开发是一项复杂的脑力劳动,而框架作为当代软件开发的基础,其主要目标之一就是减少不必要的复杂性,从而提高开发人员的生产力。设计一个成功的框架以及可重用的软件并不容易,幸运的是本书为我们提供了指导。
本书针对的是.NET平台,但其中的许多规范与具体平台无关,因此对.NET之外的其他平台的框架设计同样具有借鉴意义。
本书主要讨论框架的设计,但事实上其中的大多数规范同样适用于普通应用程序。我始终相信,如果在设计普通应用程序时也能够遵循书中的规范,那么对进一步提高软件质量将大有裨益。
虽然我力求完美,但难免会有疏漏,为此我建立了一份网上勘误表。如果读者发现任何错误,都可..
前言:
本书介绍了设计框架的最佳实践。所谓框架,即可重用面向对象程序库。书中所描述的规范普遍适用于规模不同、可重用程度不同的框架:
·大规模的系统框架。这些框架通常都有成千上万个类型,并且为大量的开发人员所使用,如.NET框架。
·中等规模的程序库。这既可以是大型分布式应用程序的可重用层,也可以是对系统框架的可重用扩展,如Web服务扩展(Web Services Enhancements)。
·小规模组件。为多个应用程序所共享,如一个grid control(网格控件)库。
值得注意的是本书关注的是直接影响框架(可以公开访问的API)可编程能力的设计问题。正因为如此,我们没有过多地涉及实现细节。正如一本介绍用户界面设计的..
序言:
在.NET框架开发的早期(那时甚至.NET框架这个名字还没有诞生呢),我花了无数时间与各开发组一起对框架的设计进行评审,以确保最终得到的平台是易于理解、内在一致的。我始终认为对框架来说,最关键的品质应该是一致性。一旦用户理解了框架的一部分,那么就应该能立即理解框架的其他部分。
可以想像,一大群聪明人在一起肯定会有许多不同意见,我们的开发组正是如此——再没有其他什么事情能比编程约定更能激发出生动而热烈的辩论了。但是,为了保证一致性,我们逐渐化解了各种不同意见,并将结果编纂为一组通用的规范,这样程序员就能容易地理解并使用框架。
Brad Abrams和Krzysztof Cwalina先后帮助我们..
|