SPI和API的区别是什么
这里实际包含两个问题,第一个SPI和API的区别?第二个什么时候用API,什么时候用SPI?
SPI - “接口”位于“调用方”所在的“包”中
概念上更依赖调用方。
组织上位于调用方所在的包中。
实现位于独立的包中。
常见的例子是:插件模式的插件。
API - “接口”位于“实现方”所在的“包”中
概念上更接近实现方。
组织上位于实现方所在的包中。
实现和接口在一个包中。
参考:difference-between-spi-and-api
设计原则:小议 SPI 和 API
------
原文链接:https://pdai.tech/md/java/advanced/java-advanced-spi.html
|