.NET 设计规范--.NET约定、惯用法与模式-2.框架设计基础

  要设计既功能强大又易于使用的框架

     要明确的为具有不同编程风格、需求、技能以及使用不同编程语言的开发人员设计框架

  要了解那些使用多语言框架的广大开发人员

1.框架设计的基本原则

场景驱动设计原则:必须从一组使用场景以及实现这些场景的样例代码开始。要确保对任何包含公有API的特性的设计来说,其核心部分都是API设计规范。要为每一个主要的特性域定义一些最常见的使用场景。要确保使用场景与适当的抽象层次相对性。场景应该大致与最终用户的用例相对应。要以这样的方式来设计API:先为主要的使用场景编写样例代码,然后再定义对象模型来支持这些样例代码。要用至少两种不同的编程语言来为主要的场景编写样例代码,最好能保证所选编程语言的语法和风格差异很大。不要在设计框架的公用API时完全依赖于标准的设计方法。要安排可用性研究来测试用于主要场景的API。

2.低门槛原则

框架必须以易于实验的方式来为普通用户提供一个低门槛

要确保每个主要特性域的名字控件只包含哪些用于最常见场景的类型。应该把用于更高级的场景的类型放在子名字空间中。要为构造函数和方法提供简单的重载函数。一个简单的重载函数不仅参数的数量非常少,而且所有的参数都是基本类型。不要在为主要的使用场景设计的类型中包含用于高级场景的方法。不要要求用户在最基本的场景中显式地实例化一个以上的类型。不要要求用户在为基本使用场景编写代码之前就进行大量的初始化。要尽可能地位所有的属性和参数提供合适的默认值。要通过异常来传达对API得误用。

3.自说明对象模型原则

在简单的使用场景中,一定要让框架无需文档就能使用。要确保API是直观的,无需查阅参考文档就能用于基本场景。要为所有的API提供优秀的文档。

设计自说明的API时最重要的一下考虑因素:

  1.命名 要在规范检查中重视标示符名称的选择  不要担心标示符的名字太冗长 要在设计过程的早期让用户教育专家参与 考虑把最好的名字留个最常用的类型

  2.异常 要通过异常消息来告诉开发人员对框架的误用。

  3.强类型

   4.一致性

   5.限制抽象的数量

4.分层架构原则

  分层设计使得在单个框架中同时提供强大的功能和易用性成为可能

   在单独的名字空间镇南关暴露层 :把高层类型和底层类型放在虽然不同但是有联系的名字空间中。

  在相同的名字空间中暴露层 :把高层类型和底层类型放在同一个名字控件中。考虑对框架进行分层,使高层API能提供最佳的开发效率,底层API能够提供最强的的功能和最丰富的表现力。避免把低层API和高层API混在同一个名字空间中,如果低层AIP非常复杂的话。要确保单个特性域中不同的层能够很好的集成在一起。

 

 

 

转载于:https://www.cnblogs.com/lufangtao/archive/2012/04/08/2437467.html

清晰完整PDF版本,是我从网上买来的,是第二版,在 CSDN 上只有我整个是清晰完整的。 共 50MB,分为5个分卷 .NET设计规范约定惯用模式(第2版)克瓦林纳 2/5 .NET 设计规范 约定惯用模式 第2版 克瓦林纳 定 价:69.00元 作  者:(美)克瓦林纳 等著,葛子昂 译 出 版 社:人民邮电出版社 出版时间:2010-5-1 页  数:370 字  数:579000 I S B N:9787115226518 -------------------------------------------------------------------------------- 数千名微软精锐开发人员的经验和智慧,最终浓缩在这本设计规范之中。与上一版相比,书中新增了许多评注,解释了相应规范的背景和历史,从中你能聆听到微软技术大师Anders Hejlsberg、Jeffrey Richter和Paul Vick等的声音,读来令人兴味盎然。   本书虽然是针对.NET平台上的框架设计的,但对其他平台的框架设计同样具有借鉴意义。新版根据.NET Framework 3.0和3.5的新特性做了全面更新,主要关注的是直接影响框架可编程能力的设计问题。遵守这些规范对于使用.NET Framework创建高质量的应用程序至关重要。   本书提供配套光盘,内含Designing .NET Class Libraries等13个演讲视频。此外,光盘还包括.NET Framework类和组件设计指南、API规范样例以及其他有用的资源和工具。 :数千名微软精锐开发人员的经验和智慧,最终浓缩在这本设计规范之中。与上一版相比,书中新增了许多评注,解释了相应规范的背景和历史,从中你能聆听到微软技术大师Anders Hejlsberg、Jeffrey Richter和Paul Vick等的声音,读来令人兴味盎然。   本书虽然是针对.NET平台上的框架设计的,但对其他平台的框架设计同样具有借鉴意义。新版根据.NET Framework 3.0和3.5的新特性做了全面更新,主要关注的是直接影响框架可编程能力的设计问题。遵守这些规范对于使用.NET Framework创建高质量的应用程序至关重要。   本书提供配套光盘,内含Designing .NET Class Libraries等13个演讲视频。此外,光盘还包括.NET Framework类和组件设计指南、API规范样例以及其他有用的资源和工具。 作者简介 -------------------------------------------------------------------------------- Krzysztof Cwalina 微软公司.NET Framework开发组项目经理。他为.NET Framework设计了多个API,还开发了FxCop等框架开发工具。目前,他正致力于在微软内部开发推广设计规范,将其应用到.NET Framework中,同时负责核心.NET Framework API的交付。 :Krzysztof Cwalina 微软公司.NET Framework开发组项目经理。他为.NET Framework设计了多个API,还开发了FxCop等框架开发工具。目前,他正致力于在微软内部开发推广设计规范,将其应用到.NET Framework中,同时负责核心.NET Framework API的交付。 目录 -------------------------------------------------------------------------------- 第1章 概述  1.1 精心设计框架所具备的品质   1.1.1 精心设计框架是简单的   1.1.2 精心设计框架设计代价高   1.1.3 精心设计框架充满利弊权衡   1.1.4 精心设计框架应该借鉴过去的经验   1.1.5 精心设计框架要考虑未来发展   1.1.6 精心设计框架应具有良好的集成性   1.1.7 精心设计框架是一致的 第2章 框架设计基础  2.1 渐进框架  2.2 框架设计的基本原则   2.2.1 围绕场景进行设计的原则   2.2.2 低门槛原则   2.2.3 自说明对象模型原则 显示全部信息 :第1章 概述  1.1 精心设计框架所具备的品质   1.1.1 精心设计框架是简单的   1.1.2 精心设计框架设计代价高   1.1.3 精心设计框架充满利弊权衡   1.1.4 精心设计框架应该借鉴过去的经验   1.1.5 精心设计框架要考虑未来发展   1.1.6 精心设计框架应具有良好的集成性   1.1.7 精心设计框架是一致的 第2章 框架设计基础  2.1 渐进框架  2.2 框架设计的基本原则   2.2.1 围绕场景进行设计的原则   2.2.2 低门槛原则   2.2.3 自说明对象模型原则   2.2.4 分层架构原则  2.3 小结 第3章 命名规范  3.1 大小写约定   3.1.1 标识符的大小写规则   3.1.2 首字母缩写词的大小写   3.1.3 复合词和常用术语的大小写   3.1.4 是否区分大小写  3.2 通用命名约定   3.2.1 单词的选择   3.2.2 使用单词缩写和首字母缩写词   3.2.3 避免使用编程语言特有的名字   3.2.4 为已有API的新版本命名  3.3 程序集和DLL的命名  3.4 名字空间的命名  3.5 类、结构和接口的命名   3.5.1 泛型类型参数的命名   3.5.2 常用类型的命名   3.5.3 枚举类型的命名  3.6 类型成员的命名   3.6.1 方的命名   3.6.2 属性的命名   3.6.3 事件的命名   3.6.4 字段的命名  3.7 参数的命名  3.8 资源的命名  3.9 小结 第4章 类型设计规范  4.1 类型和名字空间  4.2 类和结构之间的选择  4.3 类和接口之间的选择  4.4 抽象类的设计  4.5 静态类的设计  4.6 接口的设计  4.7 结构的设计  4.8 枚举的设计   4.8.1 标记枚举的设计   4.8.2 给枚举添加值  4.9 嵌套类型  4.10 类型和程序集元数据  4.11 小结 第5章 成员设计 第6章 扩展性设计 第7章 异常 第8章 使用规范 第9章 常用的设计模式 附录A C#编程风格约定 附录B 通过FxCop来实施设计规范 附录C API规格书样例 术语表 推荐读物
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值