
Also known as Marker interface
design pattern in computer science
Eine Markierungsschnittstelle (englisch Marker Interface oder Tag Interface) ist ein Entwurfsmuster, das einem Programm zur Laufzeit Informationen über ein Objekt liefert. Dies bietet die Möglichkeit einer Klasse Metadaten hinzuzufügen, obwohl die Programmiersprache dies nicht explizit unterstützt. In diesem Muster implementiert eine Klasse eine Schnittstelle, welche meistens keine Funktionalität in der Form von Methodendeklarationen definiert. Andere (klassenfremde) Methoden testen bei einer Interaktion mit der Klasse, ob die Markierungsschnittstelle für die (instanzierte) Klasse existiert. Die Anwesenheit einer solchen Schnittstelle definiert ein bestimmtes Verhalten für die implementierende Klasse. Hybridschnittstellen, welche sowohl als Markierung fungieren als auch Methoden deklarieren, sind grundsätzlich möglich, aber können bei falscher Verwendung verwirrend sein. Ein Beispiel für die Verwendung von Markierungsinterfaces in der Programmiersprache Java ist die Serializable-Schnittstelle, welche signalisiert, dass die persistenten Attribute der implementierenden Klasse in einen ObjectOutputStream geschrieben werden können. Die Methode ObjectOutputStream.writeObject enthält einige instanceof-Tests, welche prüfen, ob das übergebene Objekt die Schnittstelle Serializable enthält. Falls dies nicht der Fall ist, wird eine NotSerializableException geworfen.
Abstract from DBpedia / Wikipedia · CC BY-SA
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).