【发布时间】:2010-08-05 13:19:11
【问题描述】:
所以元编程——你可以在运行时修改类/对象,注入新的方法和属性的想法。我知道它对框架开发有好处;一直在使用 Grails,并且该框架在运行时向您的类添加了一堆方法。您在 User 对象上有一个 name 属性,然后,您会在运行时注入一个 findByName 方法。
- 我的描述是否完整地描述了这个概念?
- 除了框架开发之外,它对(具体示例)还有什么好处?
【问题讨论】:
-
它有什么用?绝对没有。
-
正如一些答案所指出的,您的描述不正确。您的描述似乎是指反射和面向方面的编程(AOP)。这两个扩展了语言在运行时的能力。元编程在编译时扩展了语言的能力,特别是对类型进行操作的能力(在类型系统中)。另一方面,反射增加了在运行时对类型进行操作的能力。
标签: metaprogramming