„Service Provider Interface“ – Versionsunterschied
[ungesichtete Version] | [ungesichtete Version] |
K HC: Ergänze Kategorie:Programmierschnittstelle |
→Siehe auch: Weitgehend redundant |
||
Zeile 6: | Zeile 6: | ||
Ein SPI hingegen bezeichnet ein ''required interface'', also eine Schnittstellenspezifikation die von einer bestimmten davon abhängigen Komponente ''verlangt bzw. erwartet'' wird. Ein Programm welches [[Plug-in]]<nowiki/>s unterstützt wird zum Beispiel required interfaces definieren, die von den Entwicklern von Plug-ins eingehalten werden müssen. Ebenso wird eine Komponente die sich ihre Abhängigkeiten per [[Dependency Injection]] übergeben lässt für jede Abhängigkeit ein required interface definieren, welches die Syntax und Semantik ([[Kommunikationsprotokoll]]) der Interaktion damit vorgibt. |
Ein SPI hingegen bezeichnet ein ''required interface'', also eine Schnittstellenspezifikation die von einer bestimmten davon abhängigen Komponente ''verlangt bzw. erwartet'' wird. Ein Programm welches [[Plug-in]]<nowiki/>s unterstützt wird zum Beispiel required interfaces definieren, die von den Entwicklern von Plug-ins eingehalten werden müssen. Ebenso wird eine Komponente die sich ihre Abhängigkeiten per [[Dependency Injection]] übergeben lässt für jede Abhängigkeit ein required interface definieren, welches die Syntax und Semantik ([[Kommunikationsprotokoll]]) der Interaktion damit vorgibt. |
||
== Siehe auch == |
|||
* [[Dependency-Inversion-Prinzip]] |
|||
* [[Plug-in]] |
|||
[[Kategorie:Programmierschnittstelle]] |
[[Kategorie:Programmierschnittstelle]] |
Version vom 14. Januar 2023, 20:21 Uhr
Ein Service Provider Interface (SPI) ist ein API welches durch eine Drittkomponente implementiert werden soll. Es dient dazu Framework Erweiterungen zu ermöglichen und trägt zur Entwicklung austauschbarer Komponenten bei.
Details
API werden meistens als provided interfaces verstanden, d.h. Schnittstellen, die durch die sie implementierende Komponente definiert werden. D.h. eine Komponente hat die Hoheit über die Interfacedefinition und stellt auch mindestens eine Implementation (meist die einzige Implementation) zur Verfügung. Beispiele von provided interfaces sind zum Beispiel alle öffentlich aufrufbaren proprietären und keinem Standard entsprechenden REST API der grossen Cloudanbieter wie Amazon Web Services, Microsoft Azure und Google Cloud Platform.
Ein SPI hingegen bezeichnet ein required interface, also eine Schnittstellenspezifikation die von einer bestimmten davon abhängigen Komponente verlangt bzw. erwartet wird. Ein Programm welches Plug-ins unterstützt wird zum Beispiel required interfaces definieren, die von den Entwicklern von Plug-ins eingehalten werden müssen. Ebenso wird eine Komponente die sich ihre Abhängigkeiten per Dependency Injection übergeben lässt für jede Abhängigkeit ein required interface definieren, welches die Syntax und Semantik (Kommunikationsprotokoll) der Interaktion damit vorgibt.