2014-08-08

Service Provider Interface란?

 Service Provider Interface(a.k.a. SPI)는 extensible한 코드를 작성하기 위해서 Java 진영에서 주로 쓰이는 방법이다.

 보통의 API들은 구현체의 Interface를 외부로 공개하여 구현체를 사용하는 주체가 자신의 환경에 맞게 사용한다.
 반면에 SPI는 사용자가 구현해야 할 Interface를 정의한다.
 SPI 사용자(보통은 driver vendor)가 자신의 환경에 맞는 구현체를 직접 정의하여 제공하면 SPI를 제공해준 service에서는 제공 받은 구현체를 불러다 사용하는 형태로 동작한다.

 대표적인 예로 Java Cryptography Extension가 있다.

댓글 없음:

댓글 쓰기