In der Informatik und Softwaretechnik bezeichnet eine Plain Old Data structure (POD) eine Datenstruktur, die nur aus einfachen Attributswerten besteht und bei der keine objektorientierten Prinzipien angewendet wurden.

Einführung

Bearbeiten

PODs werden insbesondere dort eingesetzt, wo die Sicherstellung der Datenintegrität und die Verarbeitung der Daten von anderen Systemkomponenten übernommen wird. Sie werden oft an Systemgrenzen verwendet, an denen Daten zwischen unterschiedlichen Systemen oder mit persistenten Datenträgern ausgetauscht werden und wo daher die Business-Logik der beteiligten System nicht unmittelbar relevant ist. Beispielsweise können Objekte, die aus externen Daten erzeugt werden, in Form von PODs umgesetzt werden. Die Überprüfung der semantischen Korrektheit sowie der Datenintegrität wird dann in einem weiteren Schritt von anderen Systemkomponenten übernommen.

PODs in C++

Bearbeiten

In C++ ist ein POD-Datentyp entweder ein skalarer Datentyp oder eine POD-Klasse. Eine POD-Klasse hat keinen benutzerdefinierten Kopier-Zuweisungs-Operator, keinen benutzerdefinierten Destruktor und keine nicht-statischen Attribute, die nicht selbst PODs sind. Darüber hinaus muss eine POD-Klasse ein Aggregat-Typ oder eine union sein, das heißt, sie darf keine benutzerdefinierten Konstruktoren haben, keine nicht-statischen Attribute die als private oder protected definiert sind, keine Basisklassen und keine virtuelle Funktionen. Der C++-Standard[Literatur 1] enthält weitere Details über das Verhalten von PODs in C++.

Abhängig von der konkreten Verwendung sind in C++ unter Umständen nur POD-Typen möglich. Zum Beispiel kann eine union in C++98 keine Klassen enthalten, die virtuelle Funktionen oder nicht-triviale Konstruktoren oder Destruktoren besitzt. Diese Einschränkung kommt daher, dass der Compiler nicht entscheiden kann, welche Konstruktoren oder Destruktoren für die Elemente der union aufgerufen werden sollen. POD-Typen können auch zum Aufruf von C-Funktionen verwendet werden, da C nur PODs unterstützt.

PODs in Java

Bearbeiten

In Java wird das POD-Konzept manchmal mit einer Klasse gleichgesetzt, die nur öffentliche Attribute und keine Methoden enthält, das entspricht dem Konzept eines Transferobjekts.[1] Manchmal werden auch POJOs (Klassen, die nur Getter und Setter, aber keine Business-Logik enthalten) und JavaBeans, sofern sie kein Event-Handling verwenden und keine anderen Methoden außer Gettern und Settern enthalten, als PODs bezeichnet. Auf der anderen Seite verwenden POJOs und JavaBeans das Konzept der Kapselung und verstoßen damit gegen eine der fundamentalen Eigenschaften eines POD-Datentyps.

Weiteres

Bearbeiten

Andere strukturierte Daten wie XML oder JSON können ebenfalls als PODs verwendet werden, falls keine umfangreichen semantischen Einschränkungen für die Daten definiert wurden.

Siehe auch

Bearbeiten

Literatur

Bearbeiten
  1. Information Technology Industry Council: Programming languages — C++, Second edition, ISO/IEC, Geneva 15. Oktober 2003, 14882:2003
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Oracle Technology Network Java. oracle.com, abgerufen am 21. September 2019 (englisch).

📚 Artikel Terkait di Wikipedia

Rot-Schwarz-Baum

wenn der Suchbaum persistent gehalten werden soll, d. h. alle Versionen zugänglich bleiben sollen (s. a. Persistent data structure). Die Folge A001131

B-Baum

1972, S. 173–189. R. Bayer, E. McCreight: Symmetric binary B-Trees: data structure and maintenance algorithms. In: Acta Informatica, Band 1, 1972, S. 290–306

AVL-Baum

überschreitet. Der AVL-Baum ist dann eine so genannte „persistente Datenstruktur“ (englisch persistent data structure). Die Einführung des Cursors erlaubt die Modularisierung

1,3,3,3-Tetrafluorpropen

Problematisch ist dabei seine Entzündlichkeit sowie die Bildung der persistenten Trifluoressigsäure (TFA) in der Atmosphäre. Commons: 1,3,3,3-Tetrafluorpropen –

Vulva

Afzal Sheikh, Bilal Mirza: Reconstructive Surgery in a Patient with Persistent Cloaca. Casereport. In: APSP J Case Rep. Band 2, 2011, S. 23, PMC 3418031

Kleine Eiszeit

die alte Fassung stützt, muss nun überprüft werden. Gerard Bond u. a.: Persistent Solar Influence on North Atlantic Climate During the Holocene. In: Science

Digital Imaging and Communications in Medicine

Die Definitionen der Value Representation-Werte sind in Kapitel 5 „Data Structures and Encoding“ aufgeführt. Die im DICOM-Standard definierten Service

1,2,5,6,9,10-Hexabromcyclododecan

Dispersion vor. HBCD wurde im Mai 2013 in das Stockholmer Übereinkommen über persistente organische Schadstoffe aufgenommen, wodurch für den Einsatz als Flammschutzmittel