许多编程语言和框架都会/允许/需要一种我无法找到计算机科学中的名称的操作。它们基本上是通过名称绑定到变量/对象/类/函数。
例如,Flex 中的示例("selectAll()"):
有许多其他的例子。你明白了我的意思。困扰我的是,几乎没有办法在编译时验证它,而且IDE在代码完成、导航和重构方面也无法提供太多帮助。但这不是重点。
我的问题是,这叫什么?我不认为它是其中之一:动态绑定,名称绑定,反射 更新:不,这不是一场测验,如果听起来像是一场测验,我很抱歉。对于编程,这只是一个“给它命名”的问题。
更新:有用的答案:
从Tim Lesher:它被称为“后期绑定”、“动态绑定”或“运行时绑定”。事实上,它通过字符串进行绑定只是一种实现细节...
从Konrad Rudolph:...它只是解释器的输入。
更新:正如人们正确指出的那样,某些示例是后期绑定,某些示例是反射,某些示例是运行时评估(解释),等等。然而,我得出结论,可能没有一个名称可以描述它们所有。这只是一堆有共同点的例子,但不足以给它一个名称。我喜欢“一切都是字符串”的答案,但即使它很有趣,也不能完全说明问题。
例如,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在代码完成、导航和重构方面也无法提供太多帮助。但这不是重点。
我的问题是,这叫什么?我不认为它是其中之一:动态绑定,名称绑定,反射 更新:不,这不是一场测验,如果听起来像是一场测验,我很抱歉。对于编程,这只是一个“给它命名”的问题。
更新:有用的答案:
从Tim Lesher:它被称为“后期绑定”、“动态绑定”或“运行时绑定”。事实上,它通过字符串进行绑定只是一种实现细节...
从Konrad Rudolph:...它只是解释器的输入。
更新:正如人们正确指出的那样,某些示例是后期绑定,某些示例是反射,某些示例是运行时评估(解释),等等。然而,我得出结论,可能没有一个名称可以描述它们所有。这只是一堆有共同点的例子,但不足以给它一个名称。我喜欢“一切都是字符串”的答案,但即使它很有趣,也不能完全说明问题。