gpt4 book ai didi

api - 插件 API 与类库 API

转载 作者:行者123 更新时间:2023-12-04 19:20:02 32 4
gpt4 key购买 nike

这里有很多关于 API 是什么的东西,但是我找不到我需要的关于插件 API 和类库 API 之间的区别。反正我不明白。
在 Documenting APIs 一书中,我读到:插件 API 和类库 API 之间的主要区别在于哪一方为公开的 API 提供实现。

Plugin API: The publisher creates an application and exposes a plugin API; the 3rd > party developer implements the API. The 3rd party developer plugin extends the functionality of the publisher's application.

Class library API: The publisher creates the API and implements it. The end-user uses the class library via its API to write an application. With a class library, the publisher implements a library of functionality that exposes an 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?
API vs Toolkit vs Framework vs Library

最佳答案

它们都是软件接口(interface)。这意味着它们看起来都很相似,通常是一个 Java 存档 (JAR),其中包含一个包(或多个包)以及接口(interface)、类、异常等。

我能理解为什么你觉得书中的解释令人困惑。就 API 本身而言,两种情况下都提供了 Java 实现。

主要区别在于如何使用此 Java 代码。对于插件 API(我喜欢称之为服务提供者接口(interface),或 SPI),您主要希望通过实现提供的 Java 接口(interface)和/或扩展提供的类来添加自己的功能。另一方面,您只需要调用一个库 API(我喜欢简称为 API),很少需要您实现接口(interface)或扩展类。

由于它们的使用方式,在如何设计 SPI 和如何设计 API 之间存在许多细微差别。虽然我没有专门比较 SPI 和 API 的帖子,但当我讨论 API 设计的各个方面时,我通常会指出这些差异:

http://theamiableapi.com/

关于api - 插件 API 与类库 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9244887/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com