时间:2016-12-25来源:本站原创作者:佚名

本文来自CSDN。

随着近来软件规模的日益庞大,API编程接口的设计变的越来越重要。良好的接口设计可以降低系统各部分之间的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合度,从而提高系统的维护性和稳定性。

JoshuaBloch是美国著名程序式设计师。他为Java平台设计并实现了许多的功能,是Google的首席Java架构师(ChiefJavaArchitect)。他也是《EffectiveJavaProgrammingLanguageGuide》一书的作者,就是人们常说的EffectiveJava。本文翻译自JoshuaBloch所发表的一个PPT:HowtoDesignaGoodAPIandWhyitMatters。

随着大数据、公共平台等互联网技术的日益成熟,API接口的重要性日益凸显,从公司的角度来看,API可以算作是公司一笔巨大的资产,公共API可以捕获用户、为公司做出许多贡献。对于个人来说,只要你编程,你就是一个API设计者,因为好的代码即是模块——每个模块便是一个API,而好的模块会被多次使用。此外,编写API还有利于开发者提高代码质量,提高自身的编码水平。

1优秀API所具备的特征:

简单易学;

易于使用,即使没有文档;

很难误用;

易于阅读,代码易于维护;

足够强大,可以满足需求;

易于扩展;

适合用户。

了解了一款优秀API所具备的特征后,一起再来看看如何设计优秀的API,有哪些流程和规则可循,开发者在设计时需要注意哪些事项。

API设计流程中的注意事项1征集需求

在开始之前,你可能会收到一些解决方案,它们不一定会比现有的方案好,而你的任务是以用例的形式提取真实需求,并制定真正合适的解决方案,这样构建出来的东西就会更加有价值。

2从简短的说明开始

这时,编写简短的说明最为合适,编写时需要考虑的因素有:

灵活性要远胜于完整性;

跳出规则:听取意见并严阵以待;

精炼短小才易修改;

获得信任之后将其具体化,在此之中,编程很重要。

3尽早编写API

对每一个实现进行保存,以防丢失;

在开始之前,列出一些合理的规定,保存所写说明,以防丢失;

继续编写和充实API。

4编写SPI尤为重要

ServiceProviderInterface即服务提供商接口,插件服务支持多种实现,例如JavaCryptographyExtension(JCE);

发布之前编写多个插件;

“三次原则”(“TheRuleofThrees”):指的是当某个功能第三次出现时,才进行”抽象化”。

5维护切实可行的期望

大多数API设计都过于约束;

对可能会犯的错误进行预计,要用发展的思维来编写API。

API设计原则

每个API接口应该只专注一件事,并做好:如果它很难命名,那么这或许是个不好的征兆,好的名称可以驱动开发、并且只需拆分与合并模块即可

API应尽可能地轻小:满足需求、对有疑问的地方可以暂时不使用(函数、类、方法、参数等,你可以不添加,但千万不要删除)、概念性的东西比体积重要、寻找一个良好的动力体积比;

实现不要影响API:







































白癜风医院的最好治疗偏方
北京哪家医院可以治疗白癜风

转载请注明原文网址:http://www.gzdatangtv.com/bcyykf/5211.html

------分隔线----------------------------