Metaprogramming
元编程编写操作程序自身结构的代码,在编译或运行时生成、修改或分析代码。
用途
代码生成代码,提高抽象层次,减少样板。
机制
编译期:宏(Rust/C)、模板(C++)、注解处理(Java)。运行时:反射(Java/Python)、eval、Proxy(JS)。Ruby 用元编程实现很多 DSL。
用例
- 代码生成
- 反射
- DSL 领域语言
元编程编写操作程序自身结构的代码,在编译或运行时生成、修改或分析代码。
代码生成代码,提高抽象层次,减少样板。
编译期:宏(Rust/C)、模板(C++)、注解处理(Java)。运行时:反射(Java/Python)、eval、Proxy(JS)。Ruby 用元编程实现很多 DSL。