Fangen wir von vorne an. Was ist eigentlich Abstraktion?
Das Problem / Motiv
Wenn Sie programmieren, müssen Sie häufig sehr spezifisch detaillierte Probleme lösen.
Das Hauptmotiv für die Abstraktion ist, wenn Sie sich in einer Situation befinden, in der Ihr Programm das gesamte Problem als eine Einheit behandelt, mit vielen diskreten kleinen Besonderheiten, die Aufmerksamkeit und Verständnis erfordern. Das Problem dabei ist, dass es für den Menschen schwierig ist, mit so großen Datenmengen gleichzeitig umzugehen.
Die Lösung: Abstraktion
Damit Sie genau verstehen, was Sie zur Umsetzung Ihrer Idee benötigen , extrahieren Sie Detaillösungen in vereinfachte Abstraktionen .
Betrachten wir zum Beispiel ORM (Object-Relational Mapping), bei dem SQL in Objekte abstrahiert wird.
Um ein neues Element ohne Abstraktionen in eine Datenbank einzufügen, muss ein Programmierer SQL kennen. Um ein neues Element einzufügen, muss sich ein Programmierer die SQL-Syntax zum Einfügen eines neuen Elements in eine Tabelle merken:
INSERT INTO Items (field1, field2) VALUES (value1, value2)
Bei Abstraktionen muss sich der Programmierer nur der Idee bewusst sein, was er tun möchte. Eine objektorientierte Abstraktion könnte folgendermaßen aussehen:
Item item = new Item(value1, value2)
Sie können sogar noch einen Schritt weiter gehen und darüber nachdenken, dass SQL selbst eine riesige Abstraktion für Tonnen hochentwickelter Datenspeicherungsstrukturen und -algorithmen ist, die für das Erlernen einer einfachen deklarativen Sprache immer zur Hand sind.
Das Gegenteil von Abstraktion
Basierend auf dem, was wir jetzt definiert haben, dass es bei der Abstraktion wirklich darum geht, dass es ausreicht, nur das fundamentale Konzept zu kennen, können wir leicht ableiten, dass das Gegenteil der Abstraktion tatsächlich eine Esoterik ist , bei der der Gebrauch oder das Verstehen eine Art spezialisiertes Wissen erfordert die Besonderheiten des Subjekts.