SPI和API之间的区别?

问题:

Service Provider Interface (SPI)Application Programming Interface (API)之间有什么区别?
更具体地说,对于Java库,什么使它们成为API和/或SPI?

回答:

  • API是描述类/接口/方法/ …你call and use实现一个目标
  • SPI是描述类/接口/方法/ …你extend and implement实现一个目标

换句话说,API会告诉您特定的类/方法为您做什么,SPI会告诉您必须做些什么来符合。
通常API和SPI是分开的。例如,JDBC the Driver class是SPI的一部分:如果您只想使用JDBC,则不需要直接使用它,但实现JDBC驱动程序的每个人都必须实现该类。
有时他们重叠。 The Connection interface SPI和API:当您使用JDBC驱动程序时,您可以使用它,并且需要由JDBC驱动程序的开发人员来实现。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: difference between SPI and API?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 51 = 57