ShopJsp 最专业权威的商城系统提供商,最适合二次开发的商城系统! 快速联系通道    电话:010-62910181  手机:18611625933   QQ:94367128

谷歌首席Java架构师谈如何设优秀的API?

2016-01-24  来源:华宇盈通

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

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

优秀 API 所具备的特征:

简单易学;

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

很难误用;

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

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

易于扩展;

适合用户。

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

API 设计流程中的注意事项

征集需求

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

从简短的说明开始

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

灵活性要远胜于完整性;

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

精炼短小才易修改;

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

尽早编写 API

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

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

继续编写和充实 API。

编写 SPI 尤为重要

Service Provider Interface 即服务提供商接口,插件服务支持多种实现,例如 Java Cryptography Extension (JCE);

发布之前编写多个插件;

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

维护切实可行的期望

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

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

API 设计原则

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

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

实现不要影响 API:关注实现细节(不要迷惑用户、不要随便改变实现方式)、意识到具体的实现细节(不要有越权的方法行为,例如不要制订哈希函数、所有的调优参数都是可疑的);

不要让实现细节“泄露”到 API(例如 on-disk 和 on-the-wire 格式等异常情况);

最小化可访问:设计人员应尽量把类及成员设为私有,公共类不应该有公共字段(包括异常实例),最大限度地提高信息隐藏,允许模块可以被使用、理解、构建、测试和独立调试;

命名问题:应该见名知意,避免含糊的缩写、对同一样东西的命名应该有个一致性的前缀(遍及整个平台 API)、讲究对称、代码应该易读。如下所示:

if (car.speed () > 2 * SPEED_LIMIT)

 generateAlert ("Watch out for cops!");

API在Java商城项目中有着很重要的作用,Shopjsp商城系统在API的使用中采用的是最科学的技术,能够更好的帮助java商城提升性能。

 
在线咨询