API&SPI的区别?

简介: API&SPI的区别?

API(Application Programming Interface)
即应用程序接口,服务方提供接口和实现,给出接口文档供调用方调用,调用方需要遵循服务方的接口文档规范。

SPI(Service Provider Interface)
即服务提供方接口,服务方提供接口,定义好接口参数、返回等规范,但是实现交给调用方,相当于call back的思想。

image.png

API是一组定义了软件组件之间通信协议的规范。它定义了一些函数、类、方法或协议,允许不同的软件组件之间进行交互。API定义了如何调用和使用特定的功能,隐藏了底层实现的细节,提供了一种编程接口,使得开发人员可以方便地使用和集成这些功能。API通常用于在应用程序之间或不同层级的软件组件之间进行通信和集成。

SPI是一种软件开发模式,它定义了一种服务提供者和服务使用者之间的协议,用于实现可插拔的组件。SPI主要用于扩展或替换现有的功能模块。在SPI模式中,服务提供者定义了一个接口,服务使用者通过该接口与服务提供者进行交互。服务使用者可以根据需要选择和加载适当的服务提供者实现。SPI的目的是提供一种灵活的扩展机制,使得系统能够方便地添加、替换或定制功能模块,而无需修改现有的代码。

总结,API是用于不同软件组件之间的通信和集成,提供了一种编程接口;而SPI是一种扩展机制,用于实现可插拔的组件,允许动态添加、替换或定制功能模块。

相关文章
|
4月前
|
JavaScript API
vue 3.0 所采用的 Composition Api 和 vue 2.0 使用的 Option Api 区别
vue 3.0 所采用的 Composition Api 和 vue 2.0 使用的 Option Api 区别
69 0
|
1月前
|
移动开发 前端开发 API
React路由和HTML5 History API有什么区别
【8月更文挑战第11天】React路由和HTML5 History API有什么区别
30 1
|
1月前
|
JavaScript 前端开发 API
谈谈我对Vue 3 中的 Composition、Composition API 和 Composables 之间的区别的理解
谈谈我对Vue 3 中的 Composition、Composition API 和 Composables 之间的区别的理解
|
20天前
|
XML 安全 API
REST 和 SOAP API 有什么区别?
【8月更文挑战第31天】
22 0
|
30天前
|
SQL 安全 Java
|
2月前
|
API 运维
开发与运维函数问题之Gather API与Stream Collector的区别如何解决
开发与运维函数问题之Gather API与Stream Collector的区别如何解决
20 1
|
1月前
|
JavaScript 安全 API
Vue 3 Composition API 与 Options API:全面比较两者的区别和优缺点
Vue 3 Composition API 与 Options API:全面比较两者的区别和优缺点
|
2月前
|
JavaScript API 索引
JS【详解】Set 集合 (含 Set 集合和 Array 数组的区别,Set 的 API,Set 与 Array 的性能对比,Set 的应用场景)
JS【详解】Set 集合 (含 Set 集合和 Array 数组的区别,Set 的 API,Set 与 Array 的性能对比,Set 的应用场景)
44 0
|
2月前
|
JSON JavaScript API
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
35 0
|
2月前
|
API
Vue2和Vue3的区别,OptionsAPI与CompositionAPI的区别,Vue2所有的数据,都写在data和method方法中,setup是一个全新的配置项,Vue2是选项式API的写法
Vue2和Vue3的区别,OptionsAPI与CompositionAPI的区别,Vue2所有的数据,都写在data和method方法中,setup是一个全新的配置项,Vue2是选项式API的写法