Многие языки программирования и фреймворки делают / разрешают / требуют чего-то, для чего я, кажется, не могу найти название, хотя, вероятно, есть такое в информатике. Что они в основном делают, так это привязывают переменную / объект / класс / функцию по имени.
Flex пример ("selectAll ()"):
<mx:Button click="selectAll()" label="Select All"/>
Mate пример ("цена"):
<Injectors target="{QuotePanel}">
<PropertyInjector targetKey="price" source="{QuoteManager}" sourceKey="currentPrice" />
</Injectors>
Пример Java ("Foo"):
Class.forName("Foo")
Есть много других примеров. Вы поняли идею. Что меня беспокоит, так это то, что практически нет способа проверить это во время компиляции, и IDE мало что может сделать с точки зрения дополнения кода, навигации и рефакторинга. Но это не главное.
Мой вопрос: как это называется? Не думаю, что это один из них: динамическая привязка , привязка имени , отражение
Обновление : Нет, это не тест, извините, если он звучит как один. Это просто вопрос «назови эту песню» для программирования.
Обновление : Ответы, которые помогли:
- От Тима Лешера: Это называется "поздняя привязка", "динамическая привязка" или "привязка во время выполнения". Тот факт, что он связывается строкой, является просто деталью реализации ...
- От Конрада Рудольфа: ... это просто ввод для переводчика .
Обновление : Как правильно отметили люди, некоторые из примеров имеют позднюю привязку, некоторые - рефлексию, некоторые - оценку во время выполнения (интерпретацию) и т. Д. Однако я пришел к выводу, что, вероятно, нет названия это описывает их всех. Это просто набор примеров, у которых есть что-то общее, но недостаточно, чтобы дать ему имя. Мне понравился ответ "все является строкой", но хотя он и забавный, он также не вполне оправдывает себя.