SPIとAPIの違いは?質問する

SPIとAPIの違いは?質問する

違いは何ですかサービス プロバイダー インターフェイス (SPI)そしてアプリケーション プログラミング インターフェイス (API)?

より具体的には、Java ライブラリの場合、何が API や SPI となるのでしょうか?

ベストアンサー1

  • APIは、目的を達成するために呼び出して使用するクラス/インターフェース/メソッドなどの記述であり、
  • SPI は、目標を達成するために拡張および実装するクラス/インターフェース/メソッドなどの説明です。

言い換えると、API は特定のクラス/メソッドが何を行うかを示し、SPI は準拠するために何を行う必要があるかを示します。

通常、APIとSPIは別々です。例えば、JDBCではクラスDriverSPI の一部です。単に JDBC を使用する場合は、直接使用する必要はありませんが、JDBC ドライバーを実装するすべてのユーザーはそのクラスを実装する必要があります。

ただし、重複する場合もあります。インターフェースConnectionSPI と API の両方です。JDBC ドライバーを使用するときに日常的に使用し、JDBC ドライバーの開発者が実装する必要があります。

おすすめ記事