Was ist der Ursprung des Begriffs Reflexion? Es scheint eher eine Selbstbeobachtung zu sein. Warum heißt es nicht so?
Selbstbeobachtung : Ein Blick nach innen; speziell die Handlung oder der Prozess der Selbstprüfung.
- der Akt des Reflektierens oder der Zustand des Reflektierens.
- ein Bild; Darstellung; Gegenstück
- eine Fixierung der Gedanken auf etwas; sorgfältige Überlegung
- ein Gedanke, der in Betrachtung oder Meditation auftritt.
language-agnostic
reflection
Tvanfosson
quelle
quelle
Antworten:
Es gibt eine interessante Antwort auf den französischen Wikipedia-Artikel für Reflection ( hier )
Reflexion kann in zwei Teile zerlegt werden:
Reflexion ist also eine „stärkere“ Eigenschaft als Selbstbeobachtung. Deshalb sagst du Typ Introspektion , um Typen zur Laufzeit zu kennen (und ihre Änderung ist eine weitere Aktion: Konvertierung / Casting).
EDIT: Eigentlich habe ich gerade gemerkt, dass die erste Antwort genau das war ^^. Zeit, mich vom Stromnetz zu trennen ...
quelle
Reflexion kommt von der Idee der "Selbstprüfung, Selbstmodifikation und Selbstreplikation", die sich selbst zum Zweck der Veränderung reflektiert. Bei der Programmierung verwenden Sie Reflection, um die Struktur des Programms selbst im Kontext der Verwendung zu untersuchen, anstatt es nur zu untersuchen. Was Sie zurückerhalten, ist eine Darstellung des Programms, mit dem Sie es ändern können, und nicht der Daten, mit denen es arbeitet.
Weitere Informationen finden Sie im Wikipedia-Artikel. .
quelle
Es gibt ein anderes Konzept namens Typ-Introspektion, das sich auf die Fähigkeit bezieht, den Typ eines Objekts zur Laufzeit zu bestimmen.
Bearbeiten: Mir ist klar, dass Ihre Frage sprachunabhängig sein sollte, aber in Java wird Reflexion verwendet, um zu identifizieren, welche Mitglieder ein Objekt hat, während Introspection es Ihnen ermöglicht, zu identifizieren, welche JavaBeans-Eigenschaften ein Objekt hat, weshalb sich die Introspection-Klasse befindet das java.beans-Paket. Ich bin mir nicht sicher, was der genaue Unterschied zwischen den Begriffen in anderen Sprachen sein würde.
quelle
Der Begriff Reflexion stammt aus Brian Cantwell Smiths Dissertation von 1982, die unter http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-272.pdf zu finden ist
Was als Reflexion bezeichnet wird, ist oft nur Selbstbeobachtung, dh Zugang zu Metadaten. Smiths Anforderungen an die Reflexion beinhalteten einen Kausalzusammenhang von Metadaten zurück, und dies ist normalerweise die fehlende Komponente. Eine Möglichkeit, sich Reflexion vorzustellen, ist der Zugriff auf die Implementierung und nicht nur die Implementierung einer neuen Instanz einer Berechnung, sondern auch der Zugriff einer Berechnung auf ihre eigene Implementierung. Sicherlich wurde Javas ursprüngliche Reflexions-API falsch benannt, da sie in diesem Sinne nicht reflektierend war.
quelle
In .Net halte ich den Begriff Reflection für sehr angemessen, da nicht der Typ selbst untersucht wird, sondern das Manifest des Codes, das nur eine Beschreibung ist.
quelle
Reflexion im Sinne der Definitionen 3 und 4 kann introspektiv sein. Das heißt, Selbstbeobachtung ist Reflexion über sich selbst. Ich denke, dass Selbstbeobachtung das bessere Wort für die Code-Analyse ist, weil das Wort spezifischer ist, aber ich denke nicht, dass Reflexion völlig unangemessen ist.
quelle