Отражение (программирование)

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

В информатике, отражение или рефлексия (синоним интроспекция, англ. reflection) означает процесс, во время которого программа может отслеживать и модифицировать собственную структуру и поведение. Парадигма программирования, положенная в основу отражения, называется рефлексивным программированием. Это один из видов метапрограммирования.

В большинстве современных компьютерных архитектур программные инструкции хранятся как данные, отсюда и разница между инструкциями и данными, заключающаяся лишь в том, как информация обрабатывается компьютером и языками программирования. Обычно, 'инструкции' 'выполняются', а 'данные' 'обрабатываются'. Однако, в некоторых языках программы могут обрабатывать и инструкции как данные и, таким образом, производить соответствующие (рефлексивные) модификации. Рефлексия в основном используется в высокоуровневых языках программирования, использующих виртуальные машины, как например, Smalltalk и скриптовые языки, и гораздо менее используются в языках программирования с объявляемыми типами и/или статическими типами, таких как Java и Си.

Рефлексивно-ориентированное программирование

Рефлексивно-ориентированное программирование или рефлексивное программирование — функциональное расширение парадигмы объектно-ориентированного программирования. Рефлексивно-ориентированное программирование включает в себя самопроверку, самомодификацию и самоклонирование. Тем не менее, главное достоинство рефлексивно-ориентированной парадигмы заключается в динамической модификации программы, которое может быть определено и выполнено во время работы программы. Некоторые императивные подходы, например, процедурная и объектно-ориентированная парадигмы программирования, указывают, что существует четкая предопределённая последовательность операций обработки данных. Парадигма рефлексивно-ориентированного программирования, тем не менее, добавляет возможность динамической модификации программных инструкций во время работы и их вызова в модифицированном виде. То есть, программная архитектура сама определяет что именно можно делать во время работы исходя из данных, сервисов и специфических операций.



ca:Reflexió (informàtica)

de:Reflexion (Programmierung) en:Reflection (computer science) es:Reflexión (informática) fr:Réflexion (informatique) it:Riflessione (informatica) ja:リフレクション (情報工学) ko:반영 (컴퓨터) lt:Refleksija (programavimas) nl:Reflectie (informatica) pl:Mechanizm refleksji pt:Reflexão (programação) vi:Reflection (khoa học máy tính) zh:反射 (计算机科学)

Личные инструменты

Served in 0.066 secs.