Отражение (программирование)
Материал из Википедии — свободной энциклопедии
В информатике, отражение или рефлексия (синоним интроспекция, англ. reflection) означает процесс, во время которого программа может отслеживать и модифицировать собственную структуру и поведение. Парадигма программирования, положенная в основу отражения, называется рефлексивным программированием. Это один из видов метапрограммирования.
В большинстве современных компьютерных архитектур программные инструкции хранятся как данные, отсюда и разница между инструкциями и данными, заключающаяся лишь в том, как информация обрабатывается компьютером и языками программирования. Обычно, 'инструкции' 'выполняются', а 'данные' 'обрабатываются'. Однако, в некоторых языках программы могут обрабатывать и инструкции как данные и, таким образом, производить соответствующие (рефлексивные) модификации. Рефлексия в основном используется в высокоуровневых языках программирования, использующих виртуальные машины, как например, Smalltalk и скриптовые языки, и гораздо менее используются в языках программирования с объявляемыми типами и/или статическими типами, таких как Java и Си.
[править] Рефлексивно-ориентированное программирование
Рефлексивно-ориентированное программирование или рефлексивное программирование - функциональное расширение парадигмы объектно-ориентированного программирования. Рефлексивно-ориентированное программирование включает в себя самопроверку, самомодификацию и самоклонирование. Тем не менее, главное достоинство рефлексивно-ориентированной парадигмы заключается в динамической модификации программы, которое может быть определено и выполнено во время работы программы. Некоторые императивные подходы, например, процедурная и объектно-ориентированная парадигмы программирования, указывают что существует четкая предопределенная последовательность операций обработки данных. Парадигма рефлексивно-ориентированного программирования, тем не менее, добавляет возможность динамической модификации программных инструкций во время работы и их вызова в модифицированном виде. То есть, программная архитектура сама определяет что именно можно делать во время работы исходя из данных, сервисов и специфических операций.
| Это незавершённая статья о программировании. Вы можете помочь проекту, исправив и дополнив её. |

