Die Datenstruktur wird über Operationen,
die sie selbst zur Verfügung stellt, genutzt bzw. gesteuert.
Viele Programmiersprachen ermöglichen die Definition der Schnittstellen ihrer Module bzw. Klassen mit dem Schlüsselwort
Interface
(zu deutsch: Schnittstelle).
Das Interface bzw. die Schnittstelle legt lediglich fest, wie man auf ein Modul bzw. auf eine Klasse zugreifen kann.
Die Implementierung steht an anderer Stelle und kann je nach Bedarf gegen effizientere Implementierungen ausgetauscht werden,
wobei das Interface unverändert stets dasselbe bleibt
(siehe ANSI-Norm).
Dies stellt sich besonders unter den Gesichtspunkten der Aufwärtskompatibilität und der Wartbarkeit der Software
als vorteilhaft heraus.
Damit Programmteile isoliert vom Gesamtsystem betrachtet, geändert, getestet und korrigiert werden können,
muss der Zugriff auf eine Datenstruktur stets über die dazugehörige Schnittstelle erfolgen.
Wenn dies konsequent eingehalten wird, dann können fehlerbereinigte Datenstrukturen aber auch Algorithmen,
problemlos in andere Projekte übernommen werden
— das Rad musste auch nicht zweimal erfunden werden.
:-)