In meiner Bachelorarbeit bewerte ich verschiedene Architekturmuster (patterns), eines davon ist Reflexion. Nun bin ich mir momentan offenbar noch nicht ganz klar darüber, was Reflection letzten Endes eigentlich ist. Abstrakt beschrieben:
So weit so klar, aber was bedeutet das bei der Umsetzung eigentlich??? Heißt das, man reserviert sich zur Runtime einen Datenblock und lädt da rein die Werte der im Metalevel beschriebenen Member-Variablen der reflexiven Objekte? Sind reflexive Objekte somit nichts weiter als eine wüste Ansammlung von Werten, deren Typen und Adressen im Metaobjekt steht? Wie funktioniert das mit Methoden, oder haben reflexive Objekte keine Methoden?Es gibt ein Metalevel, welches die Beschreibungen der reflexiven Objekte beinhaltet, und ein Base-Level, welches die Anwendungslogik beinhaltet und sich bei der Benutzung der reflexiven Objekte auf das Metalevel stützt. Das Metalevel bietet weiterhin ein Metaobject Protocol, um die Struktur der reflexiven Objekte zu bearbeiten.
Ich habe in meiner Arbeit 2 Beispielprojekte. Jedes Muster wird beispielhaft auf eines der beiden Projekte angewandt, um die Bewertung des Musters beispielhaft zu verdeutlichen. Nur bei Reflexion reicht mein Verständnis nicht so weit, um es auf eines meiner Beispielprojekte anzuwenden. Ich hoffe es kann mir einer weiterhelfen...
Edit: Die Beispiele sollen nicht speziell in Pascal ausformuliert werden, sondern ganz allgemein beschrieben sein, aber Pascal ist nun mal die Programmiersprache die ich kenne, im Gegensatz zu C++ o.ä. und von daher mir am leichtesten Verständlich
