关于API是什么,这里有很多东西,但是我无法找到插件API和类库API之间的区别需要什么。反正我也不明白。
在这本书“文档化API”中,我读到:插件API和类库API之间的关键区别在于哪一方为公开的API提供了实现。
Plugin :发布者创建一个应用程序并公开一个插件API;第三方开发人员实现该API。第三方开发者插件扩展了发行者应用程序的功能。
类库API:发布服务器创建并实现该API。最终用户通过API使用类库编写应用程序。通过类库,发布者实现了一个公开API的功能库。
我想我懂这个插件了。我不清楚类库API。这是否像打印机制造商基于O/S类库创建驱动程序,从而使打印机与该O/S一起工作?
如果是这样的话,您能更多地解释API本身的差异吗?它们是否仍然是一套暴露的方法?发布者是如何实现自己的API的?
参考资料
文档化API:http://www.amazon.com/documenting-APIs-writing-developer-documentation/dp/0963002104
What is the difference between a Java API and a library?
Difference between framework vs Library vs IDE vs API vs SDK vs Toolkits?
发布于 2012-02-12 06:32:14
它们都是软件接口。这意味着它们看起来很相似,通常是一个Java存档(JAR),包含一个带有接口、类、异常等的包(或多个包)。
我能理解你为什么觉得这本书里的解释令人困惑。就API本身而言,在这两种情况下都提供了Java实现。
主要的区别在于如何使用这些Java代码。对于插件API (我喜欢称之为服务提供者接口(,SPI) ),您主要需要通过实现提供的Java接口和/或扩展提供的类来添加自己的功能。另一方面,您只需要调用Library API (我喜欢简单地称之为API),很少需要您实现接口或扩展类。
由于它们的使用方式,在设计SPI和如何设计API之间有许多细微的差别。虽然我没有专门用于比较SPI和API的文章,但当我讨论API设计的各个方面时,我通常会指出这些不同之处:
https://stackoverflow.com/questions/9244887
复制