您的位置:首页 > 其它

关于API的设计--一点感想

2011-06-01 23:05 260 查看
API(application program interface),直译为应用程序接口,就其实质而言是一个程序库,对外公开一些方法或类,帮助用户解决特定问题,实质上是一种代码的复用。
正如那句话说的:“世界上有很多聪明人,很多事情他们已经做得非常棒,我们不应该也不需要在别人已经做得非常好的地方再浪费时间了”。也许这就是人们为什么要使用API的原因了。API的设计从来都不是一件容易的事情,特别是禁得起用户和时间考验的API。
我特别赞同《Practical API Design》一书中作者关于API的观点:API是其设计者与开发者交流的途径,也是其设计者与使用者的一种约定。开发者根据相应的API提供具体实现,使用者使用相应的API应该产出预期的效果,任何一方面的不一致都是对另一方信任地背叛。所以API的兼容性是其设计者最应该考虑的问题,不过可惜的是,API的第一个版本或多或少的存在考虑欠缺的地方,API的升级在所难免。
API设计的第一原则是:任何API,一经发布,永远不要去更改。因为可能有用户已经使用了该API,你做了更改,他那边可能程序就出错了。这也告诫所有的API设计者,在API中只公开需要公开的内容。“最好的设计不是没有什么可以添加的,而是没有什么可以删除的”,这句话用来形容API的设计最好不过了。
可是,有时候API需要重大升级,即使破坏兼容性也是值得的,这个时候该怎没办呢?第一,发布声明,向API的使用者致歉并给出升级原因,API用户也有知情权,申明原因也是对用户的尊重;二、给出升级建议,告诉用户如何将老的应用迁移过来,这点非常重要,即使是用户以前的代码需要全部重写,也需要给出一些合理的建议。其他的就交给用户去做决定吧!
还是那句话,对于API设计者来说,首要任务就是保护用户投入的资源。
当然作为API的设计者,一般都存在设计的初衷,设计者也有权保有自己设计的原则,用户也应尊重设计者的想法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: